刷题笔记 (二) :排序
1、冒泡排序:将最大值放到末尾,一直缩小范围到第一位
2、排序算法的稳定性是指经过排序之后,能使值相同的数据保持原顺序中的相对位置不变
解析:稳定性,就是指,不乱排序,很有规矩,能按照排序的算法执行,相异的数据排序正确,相同的数据之间的前后关系也能不会错位
3、常见的内部排序有:(并非所有排序都必须关键字比较)
-
插入排序(直接插入排序):将待排序的数字逐渐插入到已排好序的元素序列中,需要关键字的比较。 快速排序:通过一趟排序将待排序数列分割为两部分,一部分比基准值大,另一部分比基准值小,需要关键字的比较。 选择排序(简单选择排序):从待排序序列中选择一个最大(或最小)的元素放在序列的首位置,直到所有的序列排列完成。需要关键字比较。 归并排序:将序列先拆分为多个子序列,使子序列有序,再逐步合并,直至整个序列有序。需要关键字比较。 冒泡排序:相邻元素逐个比较做交换。 希尔排序:缩小增量排序,属于插入排序的一种。 堆排序:大根堆的要求是每个节点的值都不大于其父节点的值,小根堆相反。
4、稳定的排序方法是折半插入排序和起泡排序
解析:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的&#x
下一篇:
iOS设计模式之外观模式