为什么你需要学习编写排序算法
等待。
你真的这么认为吗?
唯一能做到这一点的人是
- 在日常工作中编写排序算法的人
- 最近在代码中遇到性能问题并认为可能是排序算法选择导致的
- 对排序算法真正感兴趣的人
- 刚毕业的大学生
- 刚刚被要求在白板面试中这样做的人发誓下次不会犯同样的错误
这些是按照可能性从高到低的顺序进行科学排序的。
请注意,我没有提到“需要知道在特定情况下哪种排序算法最好”的人,因为这些人不需要知道如何编写排序函数。这些人会使用很久以前编写和优化过的现有排序函数。
事实上,大多数开发人员甚至可能终其一生都不需要知道调用通用sort()
函数时使用的是什么算法。如果真的需要,你更有可能首先知道如何以有用的顺序获取数据,因此了解 RDMBS 上的索引可能会很有帮助。
了解Big O或许会很有帮助,或者至少知道它是什么,即使你无法详细了解。对我来说,了解两者之间的区别比知道区别是什么更重要。知道如何在当时进行研究则更为重要。
因此,如果您参加面试并且有人要求您编写特定的排序算法,请询问他们是否有人在该公司担任职务时必须这样做。
如果他们无法回答,那么你的回答就可以是“到时候我会用谷歌搜索一下。”
--
封面图片由Sophie Elvis在 Unsplash 上提供
文章来源:https://dev.to/moopet/why-you-need-to-learn-to-write-a-sorting-algorithm-1549