數據結構(第二版)

數據結構(第二版)

《數據結構(第二版)》,作者:陳雁,由高等教育出版社於2001年出版。

基本信息

內容提要

本書是普通高等教育“十五”國家級規劃教材。

本書主要內容包括:緒論、線性表和數組、棧和佇列、樹、圖、排序、查找、數據結構程式設計等,最後以Java語言為例,介紹了面向對象程式設計的數據結構。在每章後均附有習題及上機實習題,以便學生鞏固所學知識。書後配有光碟,其中包含一些過程的演示,幫助學生理解重點、難點內容。

本書適合於高等職業學校、高等專科學校、成人高校、本科院校舉辦的二級職業技術學院,也可供示範性軟體職業技術學院、繼續教育學院、民辦高校、技能型緊缺人才培養使用,還可供本科院校、計算機專業人員和愛好者參加使用。

目錄

第1章緒論

1.1數據結構的基本概念

1.1.1引言

1.1.2數據結構有關概念及術語

1.2算法和算法描述

1.2.1什麼是算法

1.2.2算法描述工具——類C語言

1.3算法評價

1.3.1時間

1.3.2空間

習題

第2章線性表和數組

2.1線性表的邏輯結構

2.1.1線性表的定義

2.1.2線性表的基本操作

2.2線性表的順序存儲結構

2.2.1順序存儲結構

2.2.2基本操作的實現

2.2.3動態分配的順序存儲結構介紹

2.3線性表的鏈式存儲結構

2.3.1單鍊表

2.3.2單鍊表的基本操作

2.4循環鍊表和雙向鍊表

2.4.1循環鍊表

2.4.2雙向鍊表

2.5線性表的套用——多項式相加問題

2.6數組

2.6.1數組的基本概念

2.6.2數組的順序存儲結構

2.6.3特殊矩陣的壓縮存儲

2.6.4稀疏矩陣的三元組存儲

習題

上機實習題

第3章棧和佇列

3.1棧

3.1.1棧的定義及其運算

3.1.2棧的順序存儲結構

3.1.3棧的鏈式存儲結構

3.1.4棧的套用舉例

3.2佇列

3.2.1佇列的定義及運算

3.2.2佇列的順序存儲結構

3.2.3佇列的鏈式存儲結構

3.3棧和佇列的套用實例——停車場管理

習題

上機實習題

第4章樹

4.1樹的定義和基本術語

4.1.1樹的定義

4.1.2樹的基本術語

4.2二叉樹

4.2.1二叉樹的定義

4.2.2二叉樹的重要性質

4.2.3二叉樹的存儲結構

4.2.4建立二叉樹的二叉鍊表

4.3遍歷二叉樹

4.3.1先根遍歷

4.3.2中根遍歷

4.3.3後根遍歷

4.4線索二叉樹

4.4.1線索二叉樹的基本概念

4.4.2中根線索二叉樹

4.5二叉樹、樹和森林

4.5.1樹的存儲結構

4.5.2樹與二叉樹之間的轉換

4.5.3森林與二叉樹的轉換

4.5.4樹和森林的遍歷

4.6哈夫曼樹及其套用

4.7二叉樹遍歷算法的簡單套用實例

習題

上機實習題

第5章圖

5.1圖的基本概念

5.1.1圖的定義

5.1.2圖的基本術語

5.2圖的存儲結構

5.2.1鄰接矩陣表示法

5.2.2鄰接表

5.3圖的遍歷

5.3.1連通圖的深度優先搜尋遍歷

5.3.2連通圖的廣度優先搜尋遍歷

5.3.3求圖的連通分量

5.4圖的最小生成樹

5.4.1生成樹的概念

5.4.2網路的最小生成樹

5.5最短路徑

5.5.1從某源點到其餘頂點之間的最短路徑

5.5.2求有向網中每一對項點間的最短路徑

5.6有向無環圖及其套用

5.6.1拓撲排序

5.6.2關鍵路徑

習題

上機實習題

第6章排序

6.1排序基本概念

6.2插入排序

6.2.1直接插入排序

6.2.2折半插入排序

6.2.3希爾排序

6.3交換排序

6.3.1冒泡排序

6.3.2快速排序

6.4選擇排序

6.4.1簡單選擇排序

6.4.2堆排序

6.5歸併排序

6.6基數排序

6.7內部排序總結

6.8多路歸併用於外排序的簡介

6.9排序套用實例

習題

上機實習題

第7章查找

7.1查找的基本概念

7.2靜態查找表

7.2.1順序表的概念

7.2.2順序查找

7.2.3折半查找

7.2.4索引順序查找

7.3動態查找表

7.3.1二叉排序查找樹

7.3.2平衡二叉樹與動態平衡技術

7.3.3B-樹用於外部查找

7.4哈希表及其查找

7.4.1哈希表與哈希函式

7.4.2構造哈希函式的常用方法

7.4.3解決衝突的主要方法

7.4.4哈希查找效率的分析

7.5查找套用實例

習題

上機實習題

第8章課程設計實習指導

8.1算法規範與實習步驟

8.1.1算法書寫規範

8.1.2實習步驟規範

8.2實習報告範例

8.3加密算法實例

習題

第9章Java語言描述的數據結構

9.1面向對象程式設計方法的引入

9.1.1面向對象的概念和趨勢

9.1.2面向對象的程式設計語言Java

9.2面向對象程式設計語言的特點

9.2.1封裝、繼承和多態性

9.2.2Java中的接口、內部類和包

9.3Java實現鍊表

9.3.1建立鍊表

9.3.2鍊表的基本操作

9.4Java實現堆疊

9.4.1堆疊的定義和操作

9.4.2使用Java類庫中的Stack類

9.5Java實現二叉樹

9.5.1定義和實現二叉樹

9.5.2遍歷二叉樹

9.5.3建立鏈式存儲結構的完全二叉樹

習題

參考文獻

相關詞條

相關搜尋

熱門詞條

聯絡我們