2021-01-07

作者: 预眸丶 | 来源:发表于2021-01-07 23:17 被阅读0次

    快排:

    通过分治法+双指针,完成排序。如果选择左边为基准点,则从右边先寻找,通过左右指针的移动,来进行交换。

    其次通过递归,左右分治的方式完成排序,从已成为的位置的左边作为下一次排序的右边界,以已完成位置的右边作为下一次排序的左边界完成排序


    堆排序:

    以升序序列为例,通过构造大顶堆,将堆顶元素交换到以排好数组的头部。构造大顶堆,

    建堆是通过调用筛选函数进行的。先寻找第一个非叶子结点,N/2。开始依次向上筛选。筛选函数则是,找到该点的左右孩子结点,找到最大的孩子结点进行比较,如果孩子结点大于该节点,则进行交换。之后进行交换后的孩子结点的筛选,直到到达叶子结点。

    相关文章

      网友评论

        本文标题:2021-01-07

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