本書以本人著作『資料結構、演算法與應用程式設計』為基礎再精編而成。為響應『節能減碳愛地球,減少樹木的砍伐』,本書只出版電子書,沒有紙本書。本書為理論探討非常深入,並具有創意的資料結構與演算法書籍,專供對軟體設計有興趣,想在程式設計方面奠定基礎者。 不熟悉資料結構與演算法者設計的程式,流程通常會比較零亂,反之,一個熟悉資料結構與演算法者設計的程式一定是有條不紊,並且會講求程式的執行效率。軟體設計工業非常進步的印度等國家在高中的課程,已經開設資料結構。要熟悉資料結構與演算法,並不是閱讀一本書就可以,而是要參考許多的相關書籍,這是非常耗費時間與金錢的,這對於課業或工作繁忙的人,幾乎是一件很難做到的事情,作者在國外公費留學的這段期間,努力搜集歐美各國專家學者所發表的有關資料結構與演算法之文獻與著作,精心編著成此書,其主要目的是希望讀者研讀資料結構與演算法時能夠事半功倍,提高學習的興趣與信心。 作者從事資訊教學多年,在資料結構、演算法方面有多年的教學研究經驗,非常瞭解一般讀者的需求。如果能熟讀這本書,不但可以讓讀者節省許多寶貴的時間與金錢,而且可以減少撰寫程式時,那種費盡心思也想不出解決方法的焦慮與挫折感。 C++是世界上使用最廣泛的一種程式設計語言,編寫完善的C++程式不但執行非常快速,並且很有效率。 C++語言較其他語言更具有彈性,因為您可以用它來建立各種應用程式,由刺激好玩的遊戲到高效能科學軟體、網路軟體、手機軟體、裝置驅動程式、內嵌程式和Windows用戶端應用程式,一應俱全。世界上以C/C++語言設計的程式庫及應用程式最多,現代C++因為功能非常強大再度成為主流。當程式設計人員的產能很重要時,如Java和C#這樣的語言是很適用,但是當功能與效能變得至關重要時,這些語言就顯得有所局限。就高效率和功能而論,尤其是在硬體資源有限的裝置上,其他語言都比不上現代C++。現代C++語言不斷地進步,已經有功能更強的C++11問世,最新的Visual Studio具有多種版本:用於設計網路軟體、Windows市集APP、Windows Phone及Windows Form等軟體,應用非常廣泛,這也是本書採用C/C++語言的主因。 本書對於解決各種問題的演算法與資料結構有非常詳細的說明,參考本書的演算法,讀者也可以使用其他程式語言,寫出功能強大的程式。 本書附有3種C/C++的範例程式(Dev-C++,Visual C++,OpenCV),所有程式皆經過多次的測試,附錄有詳盡的Dev C++ 5.x及Visual C++ 2010 Express的安裝與使用,本書除了附有Dev C++ 5.x繪圖的範例程式,並附有可在最新的Windows 8.1作業系統之下,使用Visual Studio 2013 Express for Windows Desktop繪圖的Visual C++的程式範例,本書的所有的範例程式適用於Dev-C++ v5.x及Visual C++ 201x Express、Visual Studio 201x Express for Windows Desktop及Visual Studio Ultimtae 201x等版本。 要熟悉C/C++語法並不困難,使用Visual Studio C++時,只要將游標置於指令上,然後按F1鍵,即會顯示該指令的詳細說明與使用此指令的範例(方法請參考本書附錄),讀者只要多做練習就可以慢慢地熟悉C/C++語法。 本書注重實用的演算法,目的是希望讀者熟讀本書之後,立刻可以自己設計、除錯(debug)及改良程式。本書中也包括解決各種問題的演算法,並以範例程式實際演練,範例程式的運作有非常詳細的解說。本書以各種精美的彩色圖形來說明資料結構、演算法,有些圖形瀏覽完以後,對於問題的解決方法即有一個概念。演算法的執行效率除了以數學推演來說明外,並且以實際的執行結果評估其優劣。對於一些科技、教育上的應用,本書也有介紹,例如人造衛星遙測影像的幾何校正,矩陣在平行處理上的應用,以及將檔案資料壓縮等。 本書共有十八章,每章皆很精彩有深度,並且內容非常豐富,以下只列出一些章節:第8章介紹各種排序,第二種改良的快速排序函數,除了使用插入排序,與使用三個元素的中間值做為分割的中樞外,並且移除了函數尾端的部分遞迴,減少堆疊的空間,即使使用速度只有2.1G的單核CPU電腦,排序一千萬個隨機數整數,只需要2.47秒。用學測成績排序來說明間接排序法,以各科成績的總分作為比較鍵,將5萬個考生的成績依由大而小的順序排序,只需要40毫秒;本章並介紹快速選取資料的方法,由5萬個隨機數整數中,選取第2萬大的元素,執行時間只需要1.515毫秒。第9章外部排序介紹雙路合併、三路合併及十路合併排序的演算法,並完成各種程式設計。每筆考生成績記錄包括考號、國文、數學、英文等五科成績及總分,將一百萬個參加大學入學甄試的考生成績,依由大而小的順序排序所需的時間只需3.3秒。第16章介紹矩陣在影像處理上的應用,衛星遙測影像經常會產生幾何失真,在利用這些衛星影像以前,必須先經過幾何校正。一個原本失真的影像經過重採樣及插值,即可轉變成一個不失真的校正影像,本章並完成影像處理的程式設計。矩陣在並行處理上的應用中,介紹將幾部電腦連線,共同解決一個相同的問題,以縮短資料處理的時間。將8部電腦連線,將影像水平分割成8個相等的部分,使用插值方法,做遙測影像幾何校正的並行處理,本章並完成並行處理的程式設計。第18章資料壓縮介紹哈夫曼編碼法、掃描長度編碼法與LZW編碼法三種演算法,並完成三種編碼法的程式設計,各種編碼法的演算法與程式運作也有非常詳盡的說明。 本書適合大學資訊、理工、商、農、醫等科系選修電腦課程的學生,做為參考書之用。對於程式設計有興趣的高中、職學生欲參加APCS測驗或軟體設計檢定考試,本書可做為參考進修之用。
Computers & Technology
Ratings and reviews
5.0
1 review
5
4
3
2
1
Rate this eBook
Tell us what you think.
Reading information
Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Centre instructions to transfer the files to supported eReaders.