要成为一个合格的程序员,在算法方面应当掌握哪些知识?

来源:百度知道 编辑:UC知道 时间:2024/05/18 11:11:36
越详细越好

高中以上数学水平。
我觉得读完CLRS(《算法导论》),掌握正文非专题部分(且不要求证明),哪怕不会习题,也差不多就够了,其他的可以在以后积累经验。

完整的不知道,那要看专业领域...

不过一些最基本的还是要熟悉掌握的:

1.数据结构
2.三角涵数(非常重要)
3.集合
4.物理方面一些基本的公式(比如力学)

完成一个程序问题,有很多算法,哪个算法才是最好的呢?
我认为优秀的算法是
1 首先可读性要高
2 手写代码最少
3 计算机运行这个算法所占用的空间和时间都是最少的
满足以上三种你的算法一定是最优的

有时空间和时间是相互矛盾的,可能你为了获得更少的时间来用更多的空间来弥补,或者相反,这要看你自己的平衡了,比如,你要开发一个程序运行在移动设备上,移动设备的空间都是很小的,你就可以考虑用时间来弥补空间.

现实地来说:图和树,要把他们从建成到排序,再到遍历,反正要做到很好地了解!