日韩欧美自拍偷拍,色偷偷色偷偷色偷偷在线视频,亚洲婷婷在线,www.欧美精品

您的位置:首頁 > 產經 > 正文

歸并排序的時間復雜度是什么?歸并排序和快速排序的區別有哪些?

2023-07-05 16:22:16 來源:驅動中國網

歸并排序的時間復雜度:

1、歸并操作的工作原理包括申請空間使其大小為兩個已經 排序序列之和,該空間用來存放合并后的序列,設定兩個指針最初位置分別為兩個已經排序序列的起始位置,比較兩個指針所指向的元素,選擇相對小的元素放入到合并空間并移動指針到下一位置,重復步驟3直到某一指針超出序列尾,將另一序列剩下的所有元素直接復制到合并序列尾。

2、歸并排序是建立在歸并操作上的一種有效的排序算法,該算法是采用分治法的一個非常典型的應用,將已有序的子序列合并得到完全有序的序列,即先使每個子序列有序,再使子序列段間有序,若將兩個有序表合并成一個有序表稱為二路歸并。

3、按數量級遞增排列,常見的時間復雜度有常數階O(1)對數階O(log2n),線性階O(n),線性對數階O(nlog2n),平方階O(n2),立方階O(n3),……k次方階O(nk)指數階O(2n),隨著問題規模n得不斷增大。

歸并排序和快速排序的區別:

1、先分解再合并:歸并排序先遞歸分解到最小粒度,然后從小粒度開始合并排序,自下而上的合并排序;

2、邊分解邊排序:快速排序每次分解都實現整體上有序,即參照值左側的數都小于參照值,右側的大于參照值;是自上而下的排序;

3、歸并排序不是原地排序,因為兩個有序數組的合并一定需要額外的空間協助才能合并;

4、快速排序是原地排序,原地排序指的是空間復雜度為O(1);

5、歸并排序每次將數組一分為二,快排每次將數組一分為三

主站蜘蛛池模板: 如东县| 兴国县| 肃宁县| 水城县| 改则县| 莒南县| 都江堰市| 乡城县| 陇南市| 安塞县| 邵东县| 专栏| 贵州省| 文水县| 高邮市| 黄平县| 叙永县| 灵石县| 保康县| 台北市| 成武县| 新营市| 蒲江县| 福泉市| 桐柏县| 壶关县| 保山市| 阿合奇县| 合阳县| 专栏| 陆河县| 宁武县| 长寿区| 龙川县| 隆化县| 开封县| 铅山县| 友谊县| 青海省| 金坛市| 昭苏县|