數據結構與算法:C語言實現

順序表的算法實現 3.2順序棧的算法實現 二叉排序樹的算法實現

圖書信息

出版社: 科學出版社; 第1版 (2009年6月1日)
叢書名: 信息管理與信息系統專業規劃教材
平裝: 359頁
正文語種: 簡體中文
開本: 16
ISBN: 9787030245175
條形碼: 9787030245175
尺寸: 23.6 x 16.6 x 1.6 cm
重量: 458 g

內容簡介

《數據結構與算法:C語言實現》是為“數據結構”課程編寫的教材,主要介紹各種基本類型的數據結構及其算法實現。《數據結構與算法:C語言實現》所有算法都有算法功能說明、算法思想分析、詳盡的實例描述、C語言編寫並可編譯執行的完整程式及運行結果圖示,典型算法附有算法分析。《數據結構與算法:C語言實現》是數據結構的入門書籍,結構嚴謹,條理清晰,按照線性數據結構、層次數據結構和網狀數據結構的順序,由易到難介紹主要抽象數據類型及其套用,最後介紹各種查找和排序方法。抽象的數據結構原理與算法實現緊密結合的寫作特點使讀者能夠快速而卓有成效地掌握數據結構原理和經典算法,以加深讀者對數據結構和算法的理解,從而提高編程能力。
《數據結構與算法:C語言實現》可以作為高等院校信息管理類專業的本科和專科教材,也可以作為其他理工科專業的選修教材或實驗指導教材。

目錄

第1章 緒論
1.1 數據結構與程式設計
1.1.1 學習數據結構的意義
1.1.2 數據與數據結構
1.1.3 數據結構類型
1.2 抽象數據類型
1.2.1 C語言中的數據類型
1.2.2 抽象數據類型
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.2.4 順序表內元素的刪除
2.3 單鍊表的算法實現
2.3.1 單鍊表的結點結構和一般形式
2.3.2 單鍊表的創建
2.3.3 單鍊表內元素的插入
2.3.4 單鍊表內元素的查找
2.3.5 單鍊表內元素的刪除
2.3.6 兩個單鍊表的合併
2.4 雙向鍊表的算法實現
2.4.1 雙向鍊表的結點結構和一般形式
2.4.2 雙向鍊表的創建
2.4.3 雙向鍊表內元素的插入
2.4.4 雙向鍊表內元素的查找
2.4.5 雙向鍊表內元素的刪除
2.5 循環鍊表的算法實現
2.5.1 循環鍊表的結點結構和一般形式
2.5.2 循環鍊表的創建
本章小結
思考與練習題
第3章 棧與佇列
3.1 棧的基本概念
3.1.1 棧的定義與特點
3.1.2 棧的兩類存儲結構
3.2 順序棧的算法實現
3.2.1 順序棧的建立和入棧
3.2.2 順序棧出棧
3.3 佇列的基本概念
3.3.1 佇列的定義與特點
3.3.2 佇列的存儲結構
3.4 順序佇列的算法實現
3.4.1 順序佇列建立和入隊
3.4.2 順序佇列出隊
3.5 循環佇列的算法實現
3.5.1 循環佇列建立和入隊
3.5.2 循環佇列出隊
3.6 鏈佇列的算法實現
3.6.1 鏈佇列建立和入隊
3.6.2 鏈佇列出隊
3.7 棧和佇列的套用——算術表達式求值
本章小結
思考與練習題
第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 改進的模式匹配算法
本章小結
思考與練習題
第5章 數組和廣義表
5.1 數組的基本概念
5.1.1 數組的定義與特點
5.1.2 數組的存儲結構
5.2 特殊矩陣的壓縮存儲
5.3 矩陣的算法實現
5.4 廣義表的基本概念
5.4.1 廣義表的定義與圖形表示
5.4.2 廣義表的存儲結構
5.5 廣義表的算法實現
本章小結
思考與練習題
第6章 樹和二叉樹
6.1 樹的基本概念
6.1.1 樹的定義與基本術語
6.1.2 樹的表示形式和存儲結構
6.2 二叉樹的基本概念
6.2.1 二叉樹的定義與性質
6.2.2 二叉樹的存儲結構
6.2.3 樹、森林和二叉樹的轉換
6.2.4 二叉樹的遍歷
6.3 二叉樹算法實現
6.3.1 二叉樹的建立
6.3.2 遞歸的二叉樹前序遍歷
6.3.3 非遞歸的二叉樹前序遍歷
6.3.4 遞歸的二叉樹中序遍歷
6.3.5 非遞歸的二叉樹中序遍歷
6.3.6 遞歸的二叉樹後序遍歷
6.3.7 非遞歸的二叉樹後序遍歷
6.4 哈夫曼樹及其套用
6.4.1 哈夫曼樹與哈夫曼編碼
6.4.2 哈夫曼算法實現
本章小結
思考與練習題
第7章 圖
7.1 圖的基本概念
7.1.1 圖的定義和術語
7.1.2 圖的表示與存儲結構
7.2 圖的構造算法實現
7.2.1 構造數組存儲的圖
7.2.2 構造鄰接表存儲的無向圖
7.2.3 構造鄰接表存儲的有向圖
7.2.4 構造十字鍊表存儲的有向圖
7.2.5 構造鄰接多重表存儲的無向圖
7.3 圖的遍歷算法實現
7.3.1 深度優先遍歷算法
7.3.2 廣度優先遍歷算法
7.4 最小生成樹算法實現
7.4.1 普里姆算法
7.4.2 克魯斯卡爾算法
7.5 圖的套用
7.5.1 拓撲排序
7.5.2 關鍵路徑
7.5.3 最短路徑
本章小結
思考與練習題
第8章 查找
8.1 查找的基本概念
8.1.1 相關術語
8.1.2 查找表結構
8.2 順序查找算法的實現
8.3 折半查找算法的實現
8.4 分塊查找算法
8.4.1 索引表
8.4.2 分塊查找算法實現
8.5 二叉排序樹及其算法實現
8.5.1 二叉排序樹及其查找過程
8.5.2 二叉排序樹插入結點的過程
8.5.3 二叉排序樹刪除結點的過程
8.5.4 二叉排序樹的算法實現
8.6 平衡二叉樹及其算法實現
8.6.1 平衡二叉排序樹及其構造
8.6.2 平衡二叉排序樹算法實現
8.7 B-樹及其算法實現
8.7.1 B-樹
8.7.2 B-樹的查找
8.7.3 B-樹的插入
8.7.4 B-樹的刪除
8.7.5 B-樹的算法實現
8.8 哈希查找的算法實現
8.8.1 哈希表
8.8.2 哈希函式構造方法
8.8.3 哈希衝突的處理方法
8.8.4 哈希表的算法實現
本章小結
思考與練習題
第9章 排序
9.1 排序的基本概念
9.1.1 術語介紹
9.1.2 常用的內容排序算法簡介類型
9.2 插入排序的算法實現
9.2.1 直接插入排序
9.2.2 希爾排序
9.3 快速排序的算法實現
9.4 選擇排序的算法實現
9.4.1 直接選擇排序
9.4.2 堆排序
9.5 歸併排序的算法實現
9.6 基數排序的算法實現
9.7 各種內部排序方法的比較
9.7.1 時間性能
9.7.2 空間性能
9.7.3 排序方法的穩定性
9.8 外部排序
本章小結
思考與練習題
第10章 檔案
10.1 檔案的基本概念
10.1.1 檔案記錄與檔案結構
10.1.2 檔案操作
10.2 檔案的存儲結構
10.2.1 順序檔案
10.2.2 索引檔案
10.2.3 散列檔案
10.2.4 多關鍵字檔案
10.2.5 倒排序檔案
本章小結
思考與練習題
參考文獻

相關詞條

相關搜尋

熱門詞條

聯絡我們