數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)
定 價:59 元
叢書名:“十四五”高等學(xué)校新工科計算機類專業(yè)系列教材
- 作者:[中國]徐孝凱
- 出版時間:2023/9/1
- ISBN:9787113303754
- 出 版 社:中國鐵道出版社
- 中圖法分類:TP311.12
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
數(shù)據(jù)結(jié)構(gòu)是計算機及相關(guān)專業(yè)的一門專業(yè)核心課程,主要研究人們?nèi)粘J褂玫母黝悢?shù)據(jù)如何進行結(jié)構(gòu)化邏輯化組織,如何有效地存入計算機系統(tǒng)中,如何利用各種計算機算法進行快速存取和運算,使之得到有用的結(jié)果信息。本教材主要內(nèi)容包括數(shù)據(jù)組織所使用的各種邏輯結(jié)構(gòu),即集合、線性、樹、圖等結(jié)構(gòu),數(shù)據(jù)存儲所使用的各種存儲結(jié)構(gòu),即順序、鏈接、索引、散列等結(jié)構(gòu),對數(shù)據(jù)進行各種運算的算法及其實現(xiàn),即各種插入、刪除、查找、排序、計算、合并、分解等算法。本教材組織和編寫將力求做到層次分明,概念清晰,舉例豐富,敘述流暢,理論緊密聯(lián)系實際,前后有機統(tǒng)一。
(1)內(nèi)容系統(tǒng)全面,圖文并茂,用多幅圖表述和講解數(shù)據(jù)的組織結(jié)構(gòu)與算法設(shè)計思想,力求歸納知識點之間的聯(lián)系,總結(jié)各類算法設(shè)計的規(guī)律。
(2)書中所有算法均調(diào)試通過。
(3)重要知識點配有二維碼視頻,方便讀者學(xué)習(xí)。
數(shù)據(jù)結(jié)構(gòu)是計算機及其相關(guān)專業(yè)的一門核心骨干課程,主要討論數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),以及對數(shù)據(jù)的運算、算法(運算方法和過程)和在計算機系統(tǒng)上的實現(xiàn)(算法執(zhí)行)。數(shù)據(jù)的邏輯結(jié)構(gòu)簡稱數(shù)據(jù)結(jié)構(gòu),它是對數(shù)據(jù)進行有效組織的各種聯(lián)系方式(方法),總體上有集合結(jié)構(gòu)、線性結(jié)構(gòu)、樹形結(jié)構(gòu)、圖結(jié)構(gòu)等四種基本結(jié)構(gòu),以及在基本結(jié)構(gòu)基礎(chǔ)上構(gòu)造出來的各種各樣的組合結(jié)構(gòu)。人們在利用計算機進行數(shù)據(jù)處理時,可以根據(jù)需要選用任一種合適的數(shù)據(jù)結(jié)構(gòu)來組織數(shù)據(jù)。
算法就是在數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上對數(shù)據(jù)進行相應(yīng)運算的方法和過程,思考和解決問題(即如何運算)的思路不同,設(shè)計出來的算法也不同,在計算機上執(zhí)行的快慢程度也不同。當(dāng)然,如果設(shè)計出的算法是正確和有效的,通過執(zhí)行就能夠得到正確的數(shù)據(jù)處理結(jié)果。
算法并不是一個新鮮的名詞,是一直存在著的,在以前傳統(tǒng)社會,對數(shù)據(jù)進行運算的各種算法都是通過手工計算完成的,只有進入現(xiàn)代計算機和信息社會時代,算法才得以在計算機上執(zhí)行。當(dāng)然其傳統(tǒng)算法也要根據(jù)在計算機上執(zhí)行的需要而做出相應(yīng)的修改和變化。
要使自己設(shè)計出的算法能夠在計算機上執(zhí)行,必須借助一種計算機語言作為工具,將其編寫成相關(guān)的程序代碼。本書利用C語言作為其算法設(shè)計語言,編寫出相應(yīng)的函數(shù)定義模塊,進而通過函數(shù)調(diào)用實現(xiàn)其算法功能。算法在計算機上執(zhí)行時,其待處理的數(shù)據(jù)來自計算機存儲系統(tǒng)中存儲的數(shù)據(jù),所以現(xiàn)實生活中的數(shù)據(jù),包括其選用的數(shù)據(jù)結(jié)構(gòu),還必須事先按照一定的存儲方法(存儲結(jié)構(gòu)),使之有效地保存到計算機存儲器中,供算法執(zhí)行時訪問和處理,算法處理結(jié)果也需要保存到計算機存儲器中,或打印輸出供用戶使用。
學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)課程的目的是要學(xué)會根據(jù)數(shù)據(jù)處理問題的需要,選擇合適的數(shù)據(jù)結(jié)構(gòu)和存儲結(jié)構(gòu),根據(jù)相應(yīng)的運算設(shè)計出算法,進而編寫出相應(yīng)的程序代碼,并在計算機上執(zhí)行(運行)后得到處理結(jié)果。
本書按照十四五高等學(xué)校新工科計算機類專業(yè)系列教材總體編寫規(guī)劃的要求編寫,適合作為普通高校數(shù)據(jù)結(jié)構(gòu)課程的教材。
本書符合課程自身學(xué)科特點,注重突出其實用性、簡明性、系統(tǒng)性和基礎(chǔ)性,讓學(xué)生能夠收到學(xué)以致用、事半功倍的良好效果。
本書共分為10章。第1章討論數(shù)據(jù)的各種基本數(shù)據(jù)結(jié)構(gòu),算法的定義以及評價標準等內(nèi)容,為學(xué)習(xí)后續(xù)各章內(nèi)容做好準備和鋪墊。第2章討論數(shù)據(jù)的集合結(jié)構(gòu),以及相應(yīng)運算、存儲結(jié)構(gòu)和算法實現(xiàn)(即編寫代碼)。第3章討論數(shù)據(jù)的線性結(jié)構(gòu)(線性表),以及相應(yīng)運算、存儲結(jié)構(gòu)和算法實現(xiàn)。第4章討論數(shù)據(jù)的棧結(jié)構(gòu)和隊列結(jié)構(gòu)(它們都是線性數(shù)據(jù)結(jié)構(gòu)中的特殊結(jié)構(gòu)),以及它們的運算、存儲結(jié)構(gòu)和算法實現(xiàn)。第5章討論樹形結(jié)構(gòu)和其中典型的二叉樹結(jié)構(gòu),以及它們的運算、存儲結(jié)構(gòu)和算法實現(xiàn)。第6章討論二叉樹的應(yīng)用,列舉了搜索二叉樹、堆和哈夫曼樹的定義、運算和相應(yīng)的算法實現(xiàn)。第7章討論數(shù)據(jù)的圖結(jié)構(gòu)和運算,以及相應(yīng)的存儲結(jié)構(gòu)和算法實現(xiàn)。第8章討論圖的具體應(yīng)用,其中包括求一個圖的最小生成樹、最短路徑、拓撲排序和關(guān)鍵路徑。第9章討論對數(shù)據(jù)進行的各種查找方法和算法,主要有二分查找、索引查找、散列查找和B樹查找等。第10章討論對數(shù)據(jù)進行的各種排序方法和算法,主要有堆排序、快速排序、歸并排序、外存數(shù)據(jù)文件排序等。
編者精心編寫本書,力求本書內(nèi)容比同類教材更加系統(tǒng)規(guī)范,更加簡明實用。由于編者能力所限,錯誤和不足之處在所難免,敬請廣大同行和讀者批評指正!
本書中所有習(xí)題的詳細解答及課件等資源可以在中國鐵道出版社教育資源數(shù)字化平臺 (https://www.tdpress.com/51eds/)免費下載。另外,還可以通過QQ號(771229083)與編者聯(lián)系。
徐孝凱
2023年3月
徐孝凱,男,國家開放大學(xué)教授(退休),主要承擔(dān)數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫、軟件工程等多門課程的教學(xué)(包括主編、電視主講、課堂面授等)工作。先后在清華大學(xué)等多家出版社策劃組織編寫過多套計算機本科教材,參與國家開放大學(xué)的計算機遠程教育和多媒體教育等相關(guān)課題的研究工作,參與考試中心有關(guān)等級考試課程和全國高校計算機網(wǎng)絡(luò)統(tǒng)一考試課程的試題庫研究與建設(shè)工作。