本章通過介紹插入排序和歸並排序兩種常見的排序算法來說明算法的過程及算法分析,在介紹歸並排序算法過程中引入了分治(divide-and-conquer)算法策略。 1、插入排序 輸入:n個數(a1,a2,a3,...,an) 輸出:輸入序列的一個排列(a1',a2',a3 ...
本章是本書的開篇,介紹了什么是算法,為什么要學習算法,算法在計算機中的地位及作用。 算法 algorithm 簡單來說就是定義良好的計算機過程,它取一個或一組值作為輸入,並產生出一個或一組值作為輸出。即算法就是一系列的計算步驟,用來將輸入數據轉換成輸出數據。 書中有一句話非常好: Having a solid base of algorithm knowledge and technique i ...
2013-01-22 10:29 3 2173 推薦指數:
本章通過介紹插入排序和歸並排序兩種常見的排序算法來說明算法的過程及算法分析,在介紹歸並排序算法過程中引入了分治(divide-and-conquer)算法策略。 1、插入排序 輸入:n個數(a1,a2,a3,...,an) 輸出:輸入序列的一個排列(a1',a2',a3 ...
計算機科學導論-讀書筆記 第一章 緒論一、學習目標 1、定義計算機的圖靈模型, 2、定義計算機的馮諾依曼模型 3、描述計算機的三大部分:硬件、數據和軟件 4、列舉與計算機硬件、軟件、數據相關的話題 5、與計算機使用相關的一些社會問題和職業道德問題 6、說出計算機的簡明歷史 二、圖靈模型 ...
《算法導論》讀書筆記之第1章 算法在計算機中的作用 本章是本書的開篇,介紹了什么是算法,為什么要學習算法,算法在計算機中的地位及作用。 算法(algorithm)簡單來說就是定義良好的計算機過程,它取一個或一組值作為輸入,並產生出一個或一組值作為輸出。即算法就是一系列的計算步驟 ...
算法導論讀書筆記(1) 目錄 算法 插入排序 循環不變式與插入算法的正確性 算法分析 插入排序算法的分析 練習 ...
本章開始介紹了堆的基本概念,然后引入最大堆和最小堆的概念。全章采用最大堆來介紹堆的操作,兩個重要的操作是調整最大堆和創建最大堆,接着着兩個操作引進了堆排序,最后介紹了采用堆實現優先級隊列。 1、堆 堆給人的感覺是一個二叉樹,但是其本質是一種數組對象,因為對堆進行操作的時候將堆視為一顆 ...
本章介紹了快速排序及其算法分析,快速排序采用的是分治算法思想,對包含n個數的輸入數組,最壞情況下運行時間為θ(n^2),但是平均性能相當好,期望的運行時間為θ(nlgn)。另外快速排序能夠就地排序(我理解是不需要引入額外的輔助空間,每次划分能確定一個元素的具體位置),在虛擬環境中能很好的工作 ...
1、概述 隊列是一種滿足先進先出(FIFO)的數據結構,數據從隊列頭部取出,新的數據從隊列尾部插入,數據之間是平等的,不存在優先級的。這個就類似於普通老百姓到火車站排隊買票,先來的先買票,每個人 ...
,在散列表中,不是直接把關鍵字用作數組下標,而是根據關鍵字通過散列函數計算出來的。書中介紹散列表非常注 ...