美文网首页
【数据结构】【C#】017-选择类排序:🔉树型选择排序(不稳定)

【数据结构】【C#】017-选择类排序:🔉树型选择排序(不稳定)

作者: lijianfex | 来源:发表于2018-10-16 17:18 被阅读8次

    选择排序:树型选择排序(稳定)

    【算法思想】:首先对 n 个记录的关键字进行两两比较,然后在其中 不大于 n/2 的整数个较小者之间再进行两两比较,直到选出最小关键字的记录为止。可以用一棵有 n 个叶子结点的完全二叉树表示。

    树形选择排序图解如下:

    图片来自网络

    1、对 n 个关键字两两比较,直到选出最小关键字为止,一趟排序结束

    图片来自网络

    2、反复这个过程,仅需将叶子结点的最小关键字改为最大值∞,即可

    图片来自网络

    3、然后从该叶子结点开始,继续和其左右兄弟的关键字比较,找出最值

    图片来自网络 图片来自网络 图片来自网络 图片来自网络 图片来自网络 图片来自网络 图片来自网络

    注:

    时间复杂度:由于含有 n 个叶子结点的完全二叉树的深度为 图片来自网络 ,则在树形选择排序中,除了最小关键字外,每选择一个次小关键字仅需进行 图片来自网络

    次比较,故时间复杂度为 O(n logn)。

    缺点: 1、与“∞”的比较多余; 2、辅助空间使用多。
    为了弥补这些缺点,1964年,堆排序诞生。

    [参考文献]https://www.cnblogs.com/kubixuesheng/p/4359406.html

    image.png

    相关文章

      网友评论

          本文标题:【数据结构】【C#】017-选择类排序:🔉树型选择排序(不稳定)

          本文链接:https://www.haomeiwen.com/subject/gnbhzftx.html