《數(shù)據(jù)結(jié)構(gòu)》是針對應(yīng)用型本科教學(xué)特征和需求而編寫的,書中系統(tǒng)地介紹了常見數(shù)據(jù)結(jié)構(gòu)和算法的相關(guān)理論和實(shí)現(xiàn)方法,主要包括線性表、棧、隊(duì)列、串、數(shù)組和廣義表、樹和二叉樹、圖等邏輯結(jié)構(gòu)及其對應(yīng)的存儲(chǔ)結(jié)構(gòu)和操作。另外,該書還集中介紹了常見的排序和查找算法,并對算法的效率進(jìn)行了分析。
《數(shù)據(jù)結(jié)構(gòu)》以C語言為算法實(shí)現(xiàn)語言,以理論講解為基石,以案例講解為驅(qū)動(dòng),每個(gè)章節(jié)配備思考題和章后習(xí)題(包括理論習(xí)題和上機(jī)操作習(xí)題)。該書致力于將理論和實(shí)踐相結(jié)合,由淺入深地實(shí)現(xiàn)理論和實(shí)踐內(nèi)容的逐級內(nèi)化。
《數(shù)據(jù)結(jié)構(gòu)》可作為應(yīng)用型高等院校計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)、信息安全等相關(guān)專業(yè)的本科生專業(yè)教材或參考用書,也可作為計(jì)算機(jī)相關(guān)從業(yè)技術(shù)人員的自學(xué)和參考用書。
更多科學(xué)出版社服務(wù),請掃碼獲取。
“數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科中一門十分重要的專業(yè)基礎(chǔ)課程,也是其他工科的重要選修課之一。2022年發(fā)布的《計(jì)算機(jī)類教學(xué)質(zhì)量國家標(biāo)準(zhǔn)》中將“數(shù)據(jù)結(jié)構(gòu)”課程列為計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)、網(wǎng)絡(luò)工程專業(yè)、信息安全專業(yè)、物聯(lián)網(wǎng)工程等5個(gè)學(xué)科的基礎(chǔ)課之一。另外,數(shù)據(jù)科學(xué)與大數(shù)據(jù)、人工智能等專業(yè)都要求學(xué)生具備較好的算法和數(shù)據(jù)結(jié)構(gòu)相關(guān)基礎(chǔ)知識。
編者結(jié)合本科的教學(xué)要求和省屬學(xué)校學(xué)生的學(xué)習(xí)特點(diǎn),注重理論和實(shí)踐相結(jié)合。本書中將知識內(nèi)容、實(shí)踐內(nèi)容有機(jī)融合,體現(xiàn)了程序設(shè)計(jì)方法中抽象、枚舉、歸納3個(gè)原則的運(yùn)用,反復(fù)再現(xiàn)算法的復(fù)雜性、效率、折中、重用等重要概念。
本書在內(nèi)容的選取上體現(xiàn)了突出應(yīng)用的原則——針對應(yīng)用型本科課程“教與學(xué)”的特點(diǎn),在實(shí)例列舉上力求做到典型和恰當(dāng),并在各章都附有相應(yīng)的習(xí)題(包括理論習(xí)題和上機(jī)操作習(xí)題);以實(shí)例介紹各種數(shù)據(jù)結(jié)構(gòu)的應(yīng)用。
在內(nèi)容的組織上遵循“循序漸進(jìn)”的原則——從數(shù)據(jù)類型、線性表、棧、隊(duì)列開講數(shù)據(jù)結(jié)構(gòu),與前導(dǎo)課程“高級語言程序設(shè)計(jì)”內(nèi)容前后貫通,無縫銜接;內(nèi)容由淺入深,按常用數(shù)據(jù)結(jié)構(gòu)、簡單數(shù)據(jù)結(jié)構(gòu)、樹與二叉樹、圖與網(wǎng)、查找和排序的次序安排主要教學(xué)內(nèi)容。
在內(nèi)容的敘述上符合“通俗易懂”的原則,在算法的描述上力求結(jié)構(gòu)清晰、描述正確、易讀易理解,并對每一個(gè)算法都做了大量的注釋。在文字?jǐn)⑹錾狭η笞龅接蓽\入深和深入淺出,用語大眾化,增強(qiáng)可讀性。
全書共10章。第1章介紹數(shù)據(jù)結(jié)構(gòu)和算法的基本概念,以及算法的評價(jià)方法;第2章介紹線性表的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)、基本操作,以及基本操作的時(shí)空復(fù)雜度分析;第3章深入淺出地介紹棧的定義、順序棧、鏈棧,以及棧的應(yīng)用;第4章介紹隊(duì)列的基本概念、順序存儲(chǔ)結(jié)構(gòu)、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),以及隊(duì)列的應(yīng)用;第5章介紹串的定義、存儲(chǔ)結(jié)構(gòu)及其操作;第6章分別介紹了一維數(shù)組、二維數(shù)組、多維數(shù)組,特殊矩陣的存儲(chǔ)方法,以及廣義表的定義、抽象結(jié)構(gòu)及存儲(chǔ)結(jié)構(gòu);第7章介紹樹和二叉樹,主要包括樹和二叉樹的定義、遍歷方法、基本應(yīng)用;第8章介紹圖,包括圖的基本概念、圖的存儲(chǔ)、圖的遍歷,以及圖的應(yīng)用,并介紹相關(guān)的性能分析;第9章和第10章介紹查找和排序,并對其性能進(jìn)行分析和對比。
全書側(cè)重應(yīng)用性,力求教學(xué)內(nèi)容與應(yīng)用實(shí)際緊密結(jié)合;強(qiáng)調(diào)實(shí)踐性,建議讀者多動(dòng)手,通過實(shí)際編程實(shí)現(xiàn)各種算法,并在深入分析的基礎(chǔ)上改進(jìn)算法或提出新的算法,強(qiáng)調(diào)習(xí)題和上機(jī)實(shí)驗(yàn)題的重要性。
本書由逯洋擔(dān)任主編,具體編寫分工如下:逯洋負(fù)責(zé)本書整體的章節(jié)設(shè)計(jì),并編寫了第2~4章;孫宏宇編寫了第5~8章;王曉宇編寫了第9章和第10章;魯錚編寫了第1章;李穎和李闖負(fù)責(zé)全書的文字校對工作。
編者在編寫本書時(shí),查閱和參考了眾多文獻(xiàn)資料,從中得到了許多教益和啟發(fā),在此向參考文獻(xiàn)的作者致以誠摯的謝意。
由于時(shí)間倉促和編者水平有限,書中難免有不妥和疏漏之處,敬請讀者批評指正。
第1章 數(shù)據(jù)結(jié)構(gòu)和算法
1.1 數(shù)據(jù)結(jié)構(gòu)的基本概念
1.2 抽象數(shù)據(jù)類型的表示與實(shí)現(xiàn)
1.2.1 抽象、數(shù)據(jù)抽象和過程抽象
1.2.2 封裝與信息隱蔽
1,2.3 數(shù)據(jù)類型和抽象數(shù)據(jù)類型
1.2.4 數(shù)據(jù)結(jié)構(gòu)和抽象數(shù)據(jù)類型
1.3 算法
1.3.1 算法的概念
1.3 ,2算法的基本特性
1.4 算法的設(shè)計(jì)與評價(jià)
1.4.1 評價(jià)算法的標(biāo)準(zhǔn)
1.4.2 常見的算法設(shè)計(jì)方法
小結(jié)
習(xí)題
第2章 線性表
2.1 線性表的基本概念
2.1.1 線性表的定義
2.1.2 線性表的邏輯結(jié)構(gòu)
2.1.3 線性表的基本運(yùn)算
2.2 線性表的順序表示與實(shí)現(xiàn)
2.2.1 線性表的順序存儲(chǔ)結(jié)構(gòu)
2.2.2 順序表的實(shí)現(xiàn)
2.2.3 順序表基本運(yùn)算的實(shí)現(xiàn)
2.2.4 順序表的算法分析
2.3 線性表的鏈?zhǔn)奖硎九c實(shí)現(xiàn)
2.3.1 線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)(鏈表)
2.3.2 鏈表的實(shí)現(xiàn)
2.3.3 鏈表基本運(yùn)算的實(shí)現(xiàn)
2.3.4 鏈表的算法分析
2.4 單循環(huán)鏈表和雙鏈表
2.4.1 單循環(huán)鏈表
2.4.2 雙鏈表
2.4.3 順序表和鏈表的比較
2.5 線性表的應(yīng)用
2.5.1 順序表的應(yīng)用
2.5.2 鏈表的應(yīng)用
小結(jié)
習(xí)題
第3章 棧
3.1 基本概念
3.1.1 棧的概念
3.1.2 棧的基本運(yùn)算
3.2 棧的順序存儲(chǔ)結(jié)構(gòu)
3.2.1 順序棧
3.2.2 順序棧的基本操作
3.3 棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
3.3.1 鏈棧的實(shí)現(xiàn)
3.3.2 鏈棧的基本操作
3.4 棧的應(yīng)用
3.4.1 數(shù)制轉(zhuǎn)換
3.4.2 括號匹配
3.4.3 “迷宮”游戲
小結(jié)
習(xí)題
第4章 隊(duì)列
4.1 隊(duì)列的基本概念和基本運(yùn)算
4.1.1 隊(duì)列的基本概念
4.1.2 隊(duì)列的基本運(yùn)算
4.2 隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)
4.2.1 隊(duì)列的順序表示
4.2.2 順序隊(duì)列的基本運(yùn)算
4.2.3 循環(huán)隊(duì)列
4.2.4 循環(huán)隊(duì)列的基本運(yùn)算
……
第5章 串
第6章 數(shù)組和廣義表
第7章 樹和二叉樹
第8章 圖
第9章 查找
第10章 排序
參考文獻(xiàn)