原文:《算法導論》第七章----快速排序(代碼實現+部分練習+部分證明)

算法導論 學習記錄目錄 快速排序,對於n個數的輸入數組,最壞情況運行時間: n 期望運行時間: nlgn 就地排序 Sort in place 。 數組A p..r 會被分為兩個子數組A p..q 和A q ..r ,其中A p..q 的元素都不大於A q ,A q ..r 都不小於A q 。 如何划分子數組對運行時間的有很大影響,最壞的情況為n個數的數組划分為一個n 的數組和一個 元素的數組 ...

2013-09-28 18:21 14 3637 推薦指數:

查看詳情

算法導論》讀書筆記之第7 快速排序

  本章介紹了快速排序及其算法分析,快速排序采用的是分治算法思想,對包含n個數的輸入數組,最壞情況下運行時間為θ(n^2),但是平均性能相當好,期望的運行時間為θ(nlgn)。另外快速排序能夠就地排序(我理解是不需要引入額外的輔助空間,每次划分能確定一個元素的具體位置),在虛擬環境中能很好的工作 ...

Fri Jan 25 00:28:00 CST 2013 4 3207
快速排序——算法導論(8)

1. 算法描述 快速排序(quick-sort)與前面介紹的歸並排序(merge-sort)(見算法基礎——算法導論(1))一樣,使用了分治思想。下面是對一個一般的子數組A[p~r]進行快速排序的分治步驟: ① 分解:數組A[p~r]被划分為兩個子數組A[p~q]和A[q+1 ...

Tue Sep 22 05:00:00 CST 2015 0 7809
算法導論課后習題解析 第七章

7.1-1 藍色部分代表不大於pivot,紅色部分表示大於pivot 13 19 9 5 12 8 7 4 21 2 6 11 13 19 9 5 12 8 7 4 21 2 6 11 13 19 9 5 12 8 7 4 21 2 6 11 9 13 19 ...

Thu Jun 27 07:28:00 CST 2013 4 2525
算法導論】之快速排序分析

前言 最近學習了算法導論上的快速排序部分,有不少體會。 今天就來分享一下。在此歡迎大家批評指正文中的錯誤。 快速排序 正文 1.快速排序的優點 說起快速排序,它的名字就顯現出快排最大的優點————快。到底有多快呢?咱們用數據說話: 綜合一般情況來說,快排確實有(億點快)。特別是對較 ...

Thu Sep 23 06:44:00 CST 2021 0 97
算法導論》第六----堆排序練習證明)(完整版)

算法導論》學習記錄目錄 歡迎指出其中的錯誤和交流。 關於堆排序的具體介紹和C代碼實現見該鏈接。 算導關於堆排序練習主要是一些證明,可以幫助理解堆的特征。部分練習是圖示過程,這些練習認真用筆過一次會很有收獲。 1.在高度為h的堆中,最多和最少的元素個數是多少? 最多:底層全 ...

Tue Sep 17 04:47:00 CST 2013 2 5629
《Python核心編程》第二版第七章練習題答案 第一部分

7–1. 字典方法。哪個字典方法可以用來把兩個字典合並到一起? 解答:使用update方法 7–2. 字典的鍵。我們知道字典的值可以是任意的Python 對象,那字典的鍵又如何呢?請試着將除數字和 ...

Mon Aug 06 19:39:00 CST 2012 2 2394
排序算法Java代碼實現(五)—— 快速排序

本篇內容: 快速排序 快速排序 算法思想: 通過一趟排序將要排序的數據分割成獨立的兩部分, 其中一部分的所有數據都比另外一部分的所有數據都要小, 然后再按此方法對這兩部分數據分別進行快速排序, 整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。 代碼實現:(遞歸 ...

Mon Aug 12 19:15:00 CST 2019 1 623
算法導論》CLRS算法C++實現(四)P85 快速排序

第七章 快速排序 主要分為兩個子算法,PARTITION(A, p, r)以A[r]為基准對數組進行一個划分,比A[r]小的放在左邊,比A[r]大的放在右邊。QUICKSORT(A, p, r)是快速排序的子程序,調用划分程序對數組進行划分,然后遞歸地調用QUICKSORT(A, p, r ...

Tue Jun 05 16:23:00 CST 2012 10 1469
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM