zoukankan      html  css  js  c++  java
  • 排序

    1.插入排序

    排序[0, 2], [0,3],[0,4] --- [0,n]  

    比较次数:总的比较次数,1 + 2 + 3 + ... +  n-1,时间复杂度:O(N^2)

    空间复杂度: O(1)

    2.快速排序

    设置基本点,将小于基本点的放到基本点的左边,大于基本点的放在右边,

    分别从序列“6  1  2 7  9  3  4  5 10  8”两端开始“探测”。先从右往左找一个小于6的数,再从左往右找一个大于6的数,然后交换他们。一定是右边先开始,考虑一下是为什么,直到左右相遇,

    用6和相遇的点进行交换,实现6左边的比6小,6右边的比6大

    然后分成两个子序列,对子序列排序,直到排到子序列元素个数为1和2

     3.并归排序

    分治算法,问题分成小的问题,然后将分阶段获取的答案合并到一起

    4.希尔排序 ?

    5.堆排序 不明白

  • 相关阅读:
    第十六周总结
    第十五周学习进度
    输出最长字符串链
    第二阶段冲刺10
    第二阶段冲刺09
    第二阶段冲刺08
    输入法评价
    第十四周进度总结
    collections模块
    shutil模块(了解)
  • 原文地址:https://www.cnblogs.com/zhongchang/p/11032794.html
Copyright © 2011-2022 走看看