目 錄Introduction to C++ Programming and Data Structures, Fifth Edition譯者序前言作者簡介第17章 遞歸 117.1 簡介 117.2 案例研究:計算階乘 217.3 案例研究:斐波那契數(shù) 517.4 使用遞歸解決問題 717.5 遞歸輔助函數(shù) 917.5.1 選擇排序 1017.5.2 二分查找 1217.6 漢諾塔 13目 錄Introduction to C++ Programming and Data Structures, Fifth Edition譯者序前言作者簡介第17章 遞歸 117.1 簡介 117.2 案例研究:計算階乘 217.3 案例研究:斐波那契數(shù) 517.4 使用遞歸解決問題 717.5 遞歸輔助函數(shù) 917.5.1 選擇排序 1017.5.2 二分查找 1217.6 漢諾塔 1317.7 八皇后問題 1617.8 遞歸與迭代 1917.9 尾遞歸 19關(guān)鍵術(shù)語 21章節(jié)總結(jié) 21編程練習(xí) 21第18章 開發(fā)高效算法 3018.1 簡介 3018.2 使用大O表示法衡量算法效率 3018.3 示例:確定大O 3218.4 分析算法時間復(fù)雜度 3418.4.1 分析二分查找 3518.4.2 分析選擇排序 3518.4.3 分析漢諾塔問題 3518.4.4 常見的遞歸關(guān)系 3618.4.5 比較常見的增長函數(shù) 3618.5 使用動態(tài)規(guī)劃求斐波那契數(shù) 3718.6 使用歐幾里得算法求*大公約數(shù) 3918.7 尋找質(zhì)數(shù)的高效算法 4318.8 使用分治法尋找*近點對 5118.9 使用回溯法解決八皇后問題 5318.10 案例研究:尋找凸包 5618.10.1 禮品包裝算法 5718.10.2 Graham算法 5818.11 字符串匹配 5918.11.1 Boyer-Moore算法 6118.11.2 Knuth-Morris-Pratt算法 64關(guān)鍵術(shù)語 67章節(jié)總結(jié) 68編程練習(xí) 68第19章 排序 7419.1 簡介 7419.2 插入排序 7419.3 冒泡排序 7719.4 歸并排序 7919.5 快速排序 8219.6 堆排序 8619.6.1 存儲堆 8619.6.2 添加新節(jié)點 8719.6.3 刪除根 8919.6.4 Heap類 9219.6.5 使用Heap類進行排序 9419.6.6 堆排序的時間復(fù)雜度 9519.7 桶排序和基數(shù)排序 9619.8 外部排序 9719.8.1 實現(xiàn)**階段 9919.8.2 實現(xiàn)第二階段 10019.8.3 合成兩個階段 10219.8.4 外部排序復(fù)雜度 107關(guān)鍵術(shù)語 107章節(jié)總結(jié) 107編程練習(xí) 107第20章 鏈表、隊列和優(yōu)先級隊列 10920.1 簡介 10920.2 節(jié)點 10920.3 LinkedList類 11220.4 實現(xiàn)LinkedList 11420.4.1 實現(xiàn)addFirst(T element) 11520.4.2 實現(xiàn)addLast(T element) 11620.4.3 實現(xiàn)add(int index, T element) 11820.4.4 實現(xiàn)removeFirst() 11920.4.5 實現(xiàn)removeLast() 12020.4.6 實現(xiàn)removeAt(int index) 12220.4.7 LinkedList的源代碼 12320.4.8 LinkedList的時間復(fù)雜度 12920.5 迭代器 13020.6 C++11 foreach循環(huán) 13320.7 鏈表的變體 13520.8 隊列 13520.9 優(yōu)先級隊列 138關(guān)鍵術(shù)語 141章節(jié)總結(jié) 141編程練習(xí) 141第21章 二叉查找樹 14421.1 簡介 14421.2 二叉查找樹基礎(chǔ)知識 14421.3 表示二叉查找樹 14521.4 訪問二叉查找樹中的節(jié)點 14621.5 查找元素 14621.6 將元素插入二叉查找樹 14621.7 樹的遍歷 14821.8 BST類 15021.9 刪除二叉查找樹中的元素 16021.10 BST的迭代器 16521.11 案例研究:數(shù)據(jù)壓縮 167關(guān)鍵術(shù)語 172章節(jié)總結(jié) 172編程練習(xí) 173第22章 STL容器 17422.1 簡介 17422.2 STL基礎(chǔ) 17422.3 STL迭代器 17922.3.1 迭代器的類型 18122.3.2 迭代器運算符 18222.3.3 預(yù)定義迭代器 18422.3.4 istream_iterator和ostream_iterator 18522.4 C++11自動類型推斷 18722.5 序列容器 18722.5.1 序列容器:vector 18822.5.2 序列容器:deque 18922.5.3 序列容器:list 19122.6 關(guān)聯(lián)容器 19422.6.1 關(guān)聯(lián)容器:set和multiset 19522.6.2 關(guān)聯(lián)容器:map和multimap 19622.7 容器適配器 19822.7.1 容器適配器:stack 19822.7.2 容器適配器:queue 20022.7.3 容器適配器:priority_queue 201關(guān)鍵術(shù)語 202章節(jié)總結(jié) 203編程練習(xí) 203第23章 STL算法 20723.1 簡介 20723.2 算法類型 20823.3 copy函數(shù) 20923.4 fill和fill_n 21123.5 將函數(shù)作為參數(shù)傳遞 21223.6 generate和generate_n 21523.7 remove、remove_if、remove_copy和remove_copy_if 21623.8 replace、replace_if、replace_copy和replace_copy_if 22023.9 find、find_if、find_end和find_first_of 22323.10 search和search_n 227