(2)中位數 中位數是指將數據按大小順序排列起來,形成一個數列,居於數列中間位置的那個數據。中位數用Me表示。 從中位數的定義可知,所研究的數據中有一半小於中位數,一半大於中位數。中位數的作用與算術平均數相近,也是作為所研究數據的代表值。在一個等差數列或一個正態分布數列中 ...
摘要: 本章所討論的問題是在一個由n個不同數值構成的集合中選擇第i個順序統計量問題。主要講的內容是如何在線性時間內O n 時間內在集合S中選擇第i小的元素,最基本的是選擇集合的最大值和最小值。一般情況下選擇的元素是隨機的,最大值和最小值是特殊情況,書中重點介紹了如何采用分治算法來實現選擇第i小的元素,並借助中位數進行優化處理,保證最壞保證運行時間是線性的O n 。 基本概念 順序統計量:在一個由n ...
2013-01-25 21:59 5 10476 推薦指數:
(2)中位數 中位數是指將數據按大小順序排列起來,形成一個數列,居於數列中間位置的那個數據。中位數用Me表示。 從中位數的定義可知,所研究的數據中有一半小於中位數,一半大於中位數。中位數的作用與算術平均數相近,也是作為所研究數據的代表值。在一個等差數列或一個正態分布數列中 ...
本章通過介紹插入排序和歸並排序兩種常見的排序算法來說明算法的過程及算法分析,在介紹歸並排序算法過程中引入了分治(divide-and-conquer)算法策略。 1、插入排序 輸入:n個數(a1,a2,a3,...,an) 輸出:輸入序列的一個排列(a1',a2',a3 ...
《算法導論》讀書筆記之第1章 算法在計算機中的作用 本章是本書的開篇,介紹了什么是算法,為什么要學習算法,算法在計算機中的地位及作用。 算法(algorithm)簡單來說就是定義良好的計算機過程,它取一個或一組值作為輸入,並產生出一個或一組值作為輸出。即算法就是一系列的計算步驟 ...
本章開始介紹了堆的基本概念,然后引入最大堆和最小堆的概念。全章采用最大堆來介紹堆的操作,兩個重要的操作是調整最大堆和創建最大堆,接着着兩個操作引進了堆排序,最后介紹了采用堆實現優先級隊列。 1、堆 堆給人的感覺是一個二叉樹,但是其本質是一種數組對象,因為對堆進行操作的時候將堆視為一顆 ...
本章介紹了快速排序及其算法分析,快速排序采用的是分治算法思想,對包含n個數的輸入數組,最壞情況下運行時間為θ(n^2),但是平均性能相當好,期望的運行時間為θ(nlgn)。另外快速排序能夠就地排序(我理解是不需要引入額外的輔助空間,每次划分能確定一個元素的具體位置),在虛擬環境中能很好的工作 ...
摘要: 本章介紹了散列表(hash table)的概念、散列函數的設計及散列沖突的處理。散列表類似與字典的目錄,查找的元素都有一個key與之對應,在實踐當中,散列技術的效率是很高的,合理的設計散 ...
摘要: 紅黑樹是一種二叉查找樹,但在每個結點上增加了一個存儲位表示結點的顏色,可以是RED或者BLACK。通過對任何一條從根到葉子的路徑上各個着色方式的限制,紅黑樹確保沒有一條路徑會比其他路徑長 ...