感慨了一番,笔记还是要记录一下,刚刚回顾了一下,已经记录的算法有: 选择排序,插入排序,冒泡排序。 希尔排序,上一个排序算法系列刚好将希尔排序记录完。 其中,插入排序是核心,插入排序的实现支持了很多其它的高级算法。 重点算法有,希尔排序,核心是步长,以及结构的变化。。 接下来这里就从归并排序开始记录了。
上面的解释,实际上这个递归就是一个树的遍历,将树遍历完,整个算法也就结束了。
上面的解释也就是这个算法的核心,为指针位置的推进。。 当然,遍历树是这个核心的前提。。
omg,我自己写的笔记,我竟然看不懂了,怪哉怪哉。 但是我相信只要哪一天我认为有必要,我会想起来的,毕竟这是属于我的成果。 其实上面无非就是说明归并算法中的并 这一步骤的实现,已经对这个实现的疑问与答案,当然是自问自答,不保证正确。供自己参考。
归并排序的时间性能也已经提到了一个近乎变态的地步。
有之前的基础,对这里的优化应该比较好理解了。
应该是归并算法系列优化最棒的一个,但是正如上面笔记所说,这个算法中归并所占的角色重要性有所下降。 我想效率替身的原因多半在于减少了元素的移动,或者说指针的移动,或者说减少了指令条数。
插入排序虽然性能上没法比拼,但是很多高级算法在实现过程中都是用到了它的思想。。