排序的概念:将一系列数据按照某个关键字进行递增或递减的顺序排列起来
排序的方式:
1、插入排序:
直接插入排序: 一 一比对
折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况
希尔排序:待排序的关键字基本有序->效率较高 分组插入,先分割(相隔某个增量的记录),对每组进行直接插入排序(不能用于链式结构)
2、交换排序:
冒泡排序:左右一 一比对
快速排序:选一个作为分隔,对其进行左右两端分隔,然后利用递归,一 一划分(不稳定、适用于顺序结构,不适用链式结构)
3、选择排序:
简单选择排序/直接选择排序:以第一个数进行比较,然后找到里面最小的那一个数后,调换位置,紧接着第二个数开始(还是可以用循环)
树形选择排序:从树的叶子到根,两两比较,换位
堆排序:调整堆、建初堆(筛选法)
4、归并排序:将两个或两个以上的有序表合成一个有序表
对这一章节的内容多半还是通过网上学习,看他人的总结笔记学习的。
但最后我想说的,学了一学期的数据结构,终于有能够成功靠自己做出题了,之前的经常会出现这样那样的问题而不得不求助博客,求助老师,同学。
回顾了一个学期,原来我还是学了很多东西的,当然也克服了自己内心的恶魔。记得一开始我对内容的不理解,无从下手,对老师和同学们的互动,跟不上,
到了最后,突然有所明悟的感觉,数据结构这本书前期讲存储结构,后期讲查找和排序,其实在一个大的程序中,很多子模块都是通过这些来完成的。
希望所学的都能在期末用上,期末考个好成绩,对计算机的学习保持热情。
可以说,对计算机的恐惧一开始来源于数据结构。现在,对计算机的热爱也是来源于数据结构。