关于算法的几个问题...
1.两种算法目的相同,一种执行很少的步骤但是需要非常多的判断;另一种判断较少但是步骤非常多,选哪种?
2.两种算法目的相同,先有一组数据n个输入.一种要遍历这组数据两次,空间需求是n+必要开销;另一种只需遍历一次但是空间需求达到(2n~3n)+必要开销.选哪一种?
3.条件判断应该算入时间复杂度不,影响性能不?
例如,定义一个数组有6个数据,前三个放入数据A,后三个放入数据B:
1.
循环 0到5
如果 小于3
放入A
否则
放入B
2.
循环 0到2
放入A
循环 3到5
放入B
上面两种实现哪种好呢?
小弟初学数据结构,对于基础的算法,我想尽我所能地写好写优秀,因此引发这些思考,望有经验的大虾能帮忙解决 算法 数据结构 遍历
[解决办法]
1.分支越少越好,分支预判错了会有分支处罚的。
2.永远根据实际情况来,没有最佳的方案。
3.选2.在一个循环里面处理的数据越单一,越密集,分支越少,效率越高,2是性能优化常用的方式,但不一定总是要用,多少会影响到可维护性和可读性。