实现显式算法vs内置方法,例如:c#或任何其他语言中的排序

本文关键字:任何 其他 语言 排序 例如 算法 vs 内置 方法 实现 | 更新日期: 2023-09-27 18:09:44

这是一个关于的一般性问题,当某些算法已经在某些语言中作为方法提供时,我们在哪里以及为什么需要实现自定义算法。

例如:在c#中实现自定义排序算法会比使用内置的sort()方法更有效吗?

自定义算法不会增加已有代码的开销吗?

实现显式算法vs内置方法,例如:c#或任何其他语言中的排序

在某些情况下,您对将要遇到的预期数据有更多的了解,因此您可以根据这些知识对算法进行微调,以产生比框架提供的一般算法更好的东西。

例如,假设您正在对字符串列表进行排序,但是在您的特定应用程序中,这些字符串都将由广泛的小写字母组成,从az。通过对每个字符串建立索引,根据它们的第一个或两个字符的值将它们放入数组中的位置,然后仅对其中包含多个项的少数数组索引使用传统排序算法,您可能会获得非常好的性能。还有其他更复杂的算法可以在这种情况下提供更好的性能。

作为一般的经验法则,除非您检测到需要解决的可测量的性能问题,否则您应该使用给定的内容。内置算法被选择为在几乎所有情况下都具有"足够好"的性能。

相关文章: