• 第八章学习小结


    内容:这章我具体学习了

    稳定的:

    1.直接插入法:最简单且稳定。

    2.折半插入法:利用 “折半查找”。

    3.冒泡排序:最简单的交换排序,可用于顺序表和链式存储结构,但只能交换相邻记录,适于小规模数据。

    4.简单选择排序:即“直接选择排序”,与冒泡算法上有些类似,但也不适于大规模数据( O(n^2)/2 )。

    5.归并排序:将序列“分开”,再一边比较关键字,一边合并和新的有序序列。

    6.基数排序:借助于多关键字排序的思想对单关键字排序的方法,类似自己手中给自己的扑克牌排序以便出牌。

    不稳定的:

    7.希尔排序:直接插入的改进,将有序序列“分”为若干组,对每组进行直接插入排序,限于顺序表结构,在规模略大时有优势。

    8.快速排序:冒泡排序的改进。通过递归,每一趟把所有关键字小千pivotkey 的记录交换到前面,把所有关键字大于pivotkey的记录交换到后面,以此再“分”为两块表,重复直至只有一个记录

    9.堆排序:实则也是树形选择排序,建堆比较麻烦,只能用顺序表,但高效适用于大规模。

    心得:

    以前接触过的,大多是交换或选择原理的,一下碰到这么多排序方法,确实有点懵,学的时候吧,好像不是很难理解,真要排序时,一想,我还是冒泡吧...

    或许也是我没怎么实践的缘故吧,实践起来还是挺头大的,不知道自己是否选对了最合适的排序方法,起码不能是对当前问题最麻烦的。

    这个学期也要结束了,珍贵的数据结构要结束了,说实话,我肯定没有大佬收获的多,终究还是学习态度上吃亏,我好菜啊...

    不过我的大二压力肯定更大,得再逼一逼自己+_+

  • 相关阅读:
    算法之二叉树各种遍历
    File类基本操作之OutputStream字节输出流
    W3C DOM 事件模型(简述)
    Linux多线程编程小结
    linux下getsockopt和setsockopt具体解释及測试
    MyBatis入门学习(一)
    [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify uniq
    java中substring的使用方法
    Java Map遍历方式的选择
    E6全部刷机包
  • 原文地址:https://www.cnblogs.com/jospeer/p/13290675.html
Copyright © 2020-2023  润新知