第八章学习小结

排序:计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列,如递增或递减。

插入排序:基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。

分为:直接插入排序(稳定),折半插入排序(稳定),希尔排序(不稳定)。

交换排序:根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置。

分为:冒泡排序(稳定),快速排序(不稳定)。

选择排序:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。

分为:简单选择排序(不稳定),堆排序(不稳定)。

归并排序:将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。(稳定)

基数排序:它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用。(稳定)

排序稳定性:如果具有相等键的两个对象在排序输出中出现的顺序与它们在要排序的输入数组中出现的顺序相同。

总结:这一章算法很多,知识运用更多。单单只是了解在只是表面是没用的,还要加深运用,才能转化为自己的知识。

posted @ 2020-07-12 20:46  林炜竣  阅读(127)  评论(0编辑  收藏  举报