25659,24625

宏基資料結構與演算法(C/C++) 2版

宏基資料結構與演算法(C/C++) 2版

您的評分:


出版日期:2013/10/09
出版:宏利 / 宏利出版社
作者:陳同利
語言:繁體中文(台灣)
檔案格式:PDF
頁數:712

零售

零售
)檢舉
免費試閱
嵌入閱讀器至您的網頁

內容簡介

內容簡介
為了支持『節能減碳愛地球,減少樹木的砍伐,降低溫室效應』,本書只有出版電子書沒有出版紙本書。本書內容豐沛(共712頁),探討深入,且為具有獨創性的資料結構與演算法類書。專提供給在軟體設計方面欲有興趣者。作者在國外碩士、博士班進修的這段期間,長期觀察到AIT 電腦科學研究所中的印度學生,研習資料結構時,肯多方面地去參考歐美各國學者所發表的文獻及著作,難怪美國矽谷的軟體設計工程師中有很多是印度人,印度有些高中也開設資料結構課程,這也是印度的軟體工業非常發達的原因。
本書不但涵蓋資料結構的所有內容,而且注重實用的演算法,本書目的是希望讀者閱讀相關章節之後,馬上可以自己動手設計、除錯與改良程式。本書中包括解決各種問題的演算法,並以範例程式實際完成演算法,所有範例程式不但詳細的解說其運作,而且列印出其執行結果。本書以非常精美的彩色圖形與容易懂的口語化敘述來說明演算法,有些圖形瀏覽完畢以後,對於問題的解決方法即有一個概念,只要稍有程式設計經驗者即可閱讀本書,本書對於解決各種問題的演算法有非常詳細的說明,市面上與學術研究上的應用程式及程式庫以C/C++語言寫成的最多,C/C++語言的功能非常強大,參考本書的演算法,讀者也可使用己熟悉的程式語言(如BASIC、JAVA等),寫出程式。演算法的執行效率除了以數學理論來說明外,並以實際的執行結果來評估優劣。對於一些科學、工、商業、教育上的應用程式設計,本書也有介紹。
本書附有3種C/C++程式範例(Dev-C++,Visual C++,OpenCV),及各章練習題,並附有DevC++ (devcpp-5.0.0.4)安裝與使用之詳細圖解說明。
本書適合大學資訊類、理工、商、農、醫等科系選修電腦課程之學生,做為參考書或教科書之用。對於軟體設計有興趣的高中、高職學生及欲參加政府公務人員考試或軟體設計檢定考試的人員,本書也可做為進修參考之用。
本書特色
本書共有18章,各章內容皆非常精彩,因為內容豐富,所以無法一一贅述,以下只列出一些章節:例如第5章遞迴,介紹以Dec-C++,Borland C++或OpenCV繪遞迴的圖形。第8章介紹各種改良的希爾排序與快速排序函數,後者排序一千萬個隨機數整數,只需要2.47秒。間接排序法,將5萬個考生的學測成績總分依由大而小的順序排序,只需要40毫秒。第9章外部排序,介紹本書獨有的十路合併排序演算法,並完成複雜的程式設計。將一百萬個參加大學入學甄試的考生成績記錄:包括考號、國文、數學、英文等五科成績及總分,排序完畢所需的時間只要3.3秒。第14章詳細介紹B -樹與B+樹的插入、刪除等演算法,這些演算法雖然有些複雜,但作者將其設計成易懂的B -樹插入函數,刪除函數與搜尋函數等演算法。第16章矩陣,以實際範例介紹衛星遙測影像的幾何校正,本章並完成影像處理的程式設計;在並行處理上的應用一節,以實際範例介紹縮短資料處理時間為原來1/8的並行處理軟體設計,本章並完成並行處理的程式設計。第18章資料壓縮以實用範例,介紹3種資料壓縮方法,並完成三種編碼法的程式設計..。

章節目錄

目錄摘要
第1章 概論
1.1 概說 1.2 結構化的程式設計 1.3 開發程式的方法 1.4 程式語言1.5 基本資料結構
1.6 C++基本觀念 1.6.8 別名 1.6.9 搖擺指標 1.7 類(class)的設計
第2章 演算法複雜度分析
2.1演算法分析簡介 2.2 Ο符號觀念 2.3 Ο符號定義 2.4實際分析演算法的複雜度
第3章 靜態資料結構
3.1 單純型資料結構 3.2 結構型資料結構
第4章 動態資料結構
4.1 堆疊 4.2 中序、後序和前序 4.3 串列結構 4.4 用單鏈接串列製作堆疊 4.5 佇列
4.6 使用單鏈接串列製作佇列 4.7 多項式的加法 4.8 多項式的乘法 4.9 循環鏈接串列
4.10 雙鏈接串列 4.10.3 以雙鏈接串列做長整數的加法 4.10.4 以雙鏈接串列做長整數的乘法
第5章 遞迴理論與應用
5.1 遞迴 5.2 階乘函數 5.3 費布那西數列 5.4 遞迴方法應用於電腦繪圖(以Dev-C++說明)
第6章 樹狀結構
6.1 二元樹 6.1.1 二元樹的製作 6.2 二元搜尋樹 6.3 穿線二元樹 6.4 平衡二元搜尋樹AVL樹 6.4.1 單旋轉 6.4.2 雙重旋轉 6.5 自己調整高度的二元搜尋樹展開樹
第7章 優先佇列
7.1 優先佇列的製作 7.2 堆樹 7.3 堆樹演算法 7.5 左翼堆樹 7.6 斜堆樹 7.7 二項式佇列
第8章 內部排序
8.1 基本觀念 8.2 氣泡排序 8.3 直接選擇排序 8.4 插入排序 8.5 希爾排序
8.6 二元樹排序 8.7 合併排序 8.8 基數排序 8.9 堆排序 8.9.1 堆排序的演算法
8.10 快速排序 8.10.2 改良的快速排序 8.10.3 快速選取資料的方法
8.11 間接排序法 8.12 實際測試各種排序法的執行時間
第9章 外部排序
9.1 外部排序 9.2 雙路合併排序 9.3 平衡的多路合併 9.3.2 十路合併排序的程式設計
第10章 基本搜尋方法
10.1 概念 10.2 循序搜尋 10.3 二元搜尋 10.4 內插順序搜尋 10.5 字串搜尋
第11章 雜湊法法
11.1 散列定址法 11.2 雜湊函數 11.3 開放散列法 11.4 封閉散列法 11.5 重散列
11.6 有序散列表 11.7 使用雜湊表的字串搜尋 11.8 散列定址法的選用
第12章 平衡樹
12.1 多路樹 12.2 2 -3樹與2 -4樹 12.3 2 -3 -4樹各種運算 12.4 紅黑樹
12.5 紅黑樹的建立 12.6 紅黑樹的搜尋 12.7 紅黑樹的插入運算
12.8 紅黑樹的刪除運算 12.9 紅黑樹的效率 12.10 檢索樹(Trie樹)
第13章 圖形演算法
13.1 圖形基本觀念 13.2 圖形正式的定義 13.3 圖形表示 13.4 圖形的搜尋
13.5 邊的插入函數 13.6 邊的刪除函數 13.7 有向圖形 13.8 拓樸排序13.9 最短路徑
13.10 最佳化二元搜尋樹 13.11 工作網絡 13.12 雙連接性 13.13 強連成分
13.14 合併尋找演算法 13.14.3 路徑壓縮13.15 最小跨距樹 13.15.1普里姆演算法
13.15.2克魯斯克爾演算法13.16 流動網絡問題 13.17 配對問題
第14章 B -樹與B+樹
14.1 簡介 14.2 索引順序存取方法 14.3 B -樹 14.4 B+ 樹 14.5 可擴充散列法
第15章 隨機數
15.1 概論 15.2 線性同餘法 15.3 加同餘法 15.4 隨機數特性測試
第16章 向量及矩陣
16.1 向量及矩陣 16.2 高斯消去法 16.3 矩陣在影像處理上的應用
16.4 矩陣在並行處理上的應用
第17章 積分 程式
17.1 長方形法 17.2 梯形法 17.3 合成法 17.4 辛普森規則
17.5 具有無限大的範圍或異常點的積分 17.6 雙重積分
第18章 資料壓縮法
18.1 資料壓縮概說 18.2 哈夫曼編碼法 18.3 掃描長度編碼法 18.4 LZW編碼法
附錄【習題解答】【DevC++安裝與使用】【參考文獻】

作者介紹

作者 : 陳同利
學歷 : Asian Institute of Technology
Computer Science 碩士、博士班
著作 : 計算機應用
演算法、資料結構與程式設計應用(使用C/C++)
資料結構、演算法與應用程式設計(使用C/C++)
宏基資料結構與演算法(C/C++)
精研資料結構(C/C++)
精讀資料結構、演算法(C/C++)

留言Facebook 留言

顯示更多