稳定性的定义:
排序前一个序列中,如果出现N个与关键字相同的数据,那么排序后仍然按照原先序列的排列顺序排列,就说这个算法是稳定的,反之就是不稳定的。通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。再简单形式化一下,如果Ai = Aj, Ai原来在Aj位置前,排序后Ai还是要在Aj位置前。这就是排序的稳定性
相关排序:
从平均时间性能而言,快速排序最佳,但快速排序在最坏情况下的时间性能不如堆排序和归并排序,而后两者相比较的结果,n较大时,归并排序所需时间少,但所需辅助存储量多。
直接插入,二分插入,冒泡,直接选择,平均时间和最坏情况,辅助空间,稳定性,基本都一样。
数据结构=逻辑结构+存储结构
线性和非线性属于逻辑结构
线性:数据元素之间一对一关系,就好链表一样有前驱,对应接下来一个的关系
非线性:,没有对应关系(集合)
一对多(树)
多对多(图,网)