數據結構與算法簡明教程(Java語言版)

數據結構與算法簡明教程(Java語言版)

《數據結構與算法簡明教程(Java語言版)》是2016年9月清華大學出版社出版的圖書,作者是葉小平、陳瑛。

基本介紹

  • 書名:數據結構與算法簡明教程(Java語言版)
  • 作者:葉小平、陳瑛
  • ISBN:9787302439820
  • 定價:44元
  • 出版社:清華大學出版社
  • 出版時間:2016年9月
內容簡介,圖書目錄,

內容簡介

本書是“數據結構與算法”課程(Java語言描述)的基本教材。全書突出數據邏輯結構主線,在編寫思路和材料組織上具有體現整體架構、注重本質關聯、彰顯關鍵細節和強化實例講解等特點。書中基本算法和實例實現程式都經過Java 8標準版(JDK 1.8版本)平台調試運行,能夠實現課程的教材學習到實驗操作的有效對接。
本書可分為三部分(共10章): 第一部分是課程概述(第1章); 第二部分是基於記憶體的數據結構(第2~7章),包括線性結構(第2~4章)、樹結構(第5~6章)、圖結構(第7章); 第三部分榆達刪是高級部分(第槓檔8~10章),包括查找慨員抹(第8章)、排序(第9章)和檔案(第10章)。
本書可作為高等院校計算機信息科學與技術及其相關專業漏驗屑烏本科生教材,也可作為非計算機專業開設相應計算機專業基礎課的教材,還可作為自學教材。

圖書目錄

第1章緒論
1.1數據與數據類型
1.1.1數據的基本概念
1.1.2數據項與數據元素
1.1.3數據類型與抽象數據類型
1.2數據邏輯與存儲結構
1.2.1數據邏輯結構
1.2.2數據存儲結構
1.3數據運算與算法
1.3.1數據運算
1.3.2算法及其基本要求槳剃提肯
1.3.3算法設計與分析
1.4“數據結構”課程的地位與教材內容
1.4.1“數據結構”課程的地位
1.4.2本書內容組織
本章小結
第2章線性表
2.1線性表概念
2.1.1線性表邏輯結構
2.1.2線性表ADT描述
2.2線性表的順序存儲
2.2.1順序存儲結構
2.2.2順序表的基本操作
2.3線性表的鏈式存儲
2.3.1單鍊表概念
2.3.2單鍊表的基本操作
2.3.3線性表存儲結構比較
2.4鏈式存儲其他實現方式
2.4.1循環鍊表
2.4.2雙向鍊表
2.4.3靜態鍊表
2.5單鍊表套用及疊代器
2.5.1單鍊表倒置
2.5.2兩個有序鍊表合併
2.5.3一元多項式計算
2.5.4疊代器
本章小結
第3章棧和佇列
3.1棧
3.1.1棧基本概念
3.1.2棧的順序存儲
3.1.3棧的鏈式存影永愉儲
3.2棧的套用
3.2.1數制轉換
3.2.2棧在遞歸中的套用榆祝遷
3.2.3棧在括弧匹配中的套用
3.2.4表達式求值
3.2.5迷宮求解
3.3佇列
3.3.1佇列基本概念
3.3.2佇列的順序存儲
3.3.3佇列的鏈式存儲
3.4佇列的套用
本章小結
第4章數組和串
4.1數組
4.1.1二維數組
4.1.2矩陣的順序表示與實現
4.1.3特殊矩陣的壓縮存儲
4.1.4稀疏矩陣的壓縮存儲
4.2串
4.2.1串及相關概念
4.2.2串的基本操作
4.2.3串的順序存儲
4.2.4串的鏈式存儲
4.2.5串的模式匹配
本章小結
第5章樹
5.1樹結構及相關概念
5.1.1樹的基本概念
5.1.2樹的相關概念
5.2樹的存儲
5.2.1父結點表示法存儲
5.2.2子結點表示法存儲
5.2.3左子/右兄弟結點表示法存儲
5.3樹的遍歷
5.3.1廣度優先遍歷
5.3.2深度優先遍歷
本章小結
第6章二叉樹及套用
6.1二叉樹的概念及性質
6.1.1二叉樹及其相關概念
6.1.2二叉樹的基本性質
6.2二叉樹的存儲
6.2.1二叉樹的順序存儲
6.2.2二叉樹的鏈式存儲
6.3二叉樹的遍歷
6.3.1先序遍歷、中序遍歷與後序遍歷
6.3.2基於遞歸遍歷算法
6.3.3基於非遞歸遍歷算法
6.4線索二叉樹
6.4.1線索與線索二叉樹
6.4.2線索二叉樹創建
6.4.3線索二叉樹操作
6.5Huffman樹及其套用
6.5.1編碼及分類
6.5.2Huffman樹
6.5.3基於順序存儲Huffman樹
6.5.4Huffman編碼
6.6樹與二叉樹的轉換
6.6.1樹轉換為二叉樹
6.6.2二叉樹還原為樹
6.6.3森林與二叉樹的轉換
本章小結
第7章圖
7.1圖的數據結構
7.1.1圖的基本概念
7.1.2路徑與連通
7.2圖的存儲
7.2.1基於鄰接矩陣存儲
7.2.2基於鄰接表存儲
7.3圖的遍歷
7.3.1深度優先遍歷
7.3.2廣度優先遍歷
7.4生成樹與最小生成樹
7.4.1圖的生成樹
7.4.2無向連通圖最小生成樹
7.5有向網圖的套用
7.6有向無環圖的套用
7.6.1AOV網與拓撲排序
7.6.2AOE網與關鍵路徑
本章小結
第8章查找
8.1數據查找
8.2基於線性表的查找
8.2.1順序查找
8.2.2分塊查找
8.2.3二分查找
8.3基於二叉樹的查找
8.3.1二叉查找樹概念
8.3.2基於二叉查找樹的查找
8.3.3二叉查找樹插入與生成算法
8.3.4二叉查找樹刪除
8.3.5平衡二叉樹
8.4基於散列表的查找
8.4.1常用散列函式構建
8.4.2散列衝突處理
本章小結
第9章排序
9.1數據排序
9.1.1排序的基本概念
9.1.2排序算法性能分析
9.2插入排序
9.2.1直接插入排序
9.2.2二分插入排序
9.2.3Shell排序
9.3交換排序
9.3.1冒泡排序
9.3.2快速排序
9.4選擇排序
9.4.1直接選擇排序
9.4.2堆排序
9.5歸併排序
9.6外排序
9.6.1外排序的基本步驟
9.6.2敗者樹k路歸併算法
9.6.3k路歸併算法實現
本章小結
第10章檔案
10.1檔案及其分類
10.1.1檔案概述
10.1.2檔案結構與操作
10.2順序檔案
10.2.1順序檔案存儲結構
10.2.2順序存儲的實現
10.3索引檔案
10.3.1索引表與索引檔案
10.3.2ISAM檔案
10.3.3VSAM檔案
10.4動態索引B樹
10.4.1B樹
10.4.2B+樹
10.5散列檔案
10.6多關鍵碼檔案
10.6.1多重表檔案
10.6.2倒排檔案
本章小結
參考文獻
本章小結
第4章數組和串
4.1數組
4.1.1二維數組
4.1.2矩陣的順序表示與實現
4.1.3特殊矩陣的壓縮存儲
4.1.4稀疏矩陣的壓縮存儲
4.2串
4.2.1串及相關概念
4.2.2串的基本操作
4.2.3串的順序存儲
4.2.4串的鏈式存儲
4.2.5串的模式匹配
本章小結
第5章樹
5.1樹結構及相關概念
5.1.1樹的基本概念
5.1.2樹的相關概念
5.2樹的存儲
5.2.1父結點表示法存儲
5.2.2子結點表示法存儲
5.2.3左子/右兄弟結點表示法存儲
5.3樹的遍歷
5.3.1廣度優先遍歷
5.3.2深度優先遍歷
本章小結
第6章二叉樹及套用
6.1二叉樹的概念及性質
6.1.1二叉樹及其相關概念
6.1.2二叉樹的基本性質
6.2二叉樹的存儲
6.2.1二叉樹的順序存儲
6.2.2二叉樹的鏈式存儲
6.3二叉樹的遍歷
6.3.1先序遍歷、中序遍歷與後序遍歷
6.3.2基於遞歸遍歷算法
6.3.3基於非遞歸遍歷算法
6.4線索二叉樹
6.4.1線索與線索二叉樹
6.4.2線索二叉樹創建
6.4.3線索二叉樹操作
6.5Huffman樹及其套用
6.5.1編碼及分類
6.5.2Huffman樹
6.5.3基於順序存儲Huffman樹
6.5.4Huffman編碼
6.6樹與二叉樹的轉換
6.6.1樹轉換為二叉樹
6.6.2二叉樹還原為樹
6.6.3森林與二叉樹的轉換
本章小結
第7章圖
7.1圖的數據結構
7.1.1圖的基本概念
7.1.2路徑與連通
7.2圖的存儲
7.2.1基於鄰接矩陣存儲
7.2.2基於鄰接表存儲
7.3圖的遍歷
7.3.1深度優先遍歷
7.3.2廣度優先遍歷
7.4生成樹與最小生成樹
7.4.1圖的生成樹
7.4.2無向連通圖最小生成樹
7.5有向網圖的套用
7.6有向無環圖的套用
7.6.1AOV網與拓撲排序
7.6.2AOE網與關鍵路徑
本章小結
第8章查找
8.1數據查找
8.2基於線性表的查找
8.2.1順序查找
8.2.2分塊查找
8.2.3二分查找
8.3基於二叉樹的查找
8.3.1二叉查找樹概念
8.3.2基於二叉查找樹的查找
8.3.3二叉查找樹插入與生成算法
8.3.4二叉查找樹刪除
8.3.5平衡二叉樹
8.4基於散列表的查找
8.4.1常用散列函式構建
8.4.2散列衝突處理
本章小結
第9章排序
9.1數據排序
9.1.1排序的基本概念
9.1.2排序算法性能分析
9.2插入排序
9.2.1直接插入排序
9.2.2二分插入排序
9.2.3Shell排序
9.3交換排序
9.3.1冒泡排序
9.3.2快速排序
9.4選擇排序
9.4.1直接選擇排序
9.4.2堆排序
9.5歸併排序
9.6外排序
9.6.1外排序的基本步驟
9.6.2敗者樹k路歸併算法
9.6.3k路歸併算法實現
本章小結
第10章檔案
10.1檔案及其分類
10.1.1檔案概述
10.1.2檔案結構與操作
10.2順序檔案
10.2.1順序檔案存儲結構
10.2.2順序存儲的實現
10.3索引檔案
10.3.1索引表與索引檔案
10.3.2ISAM檔案
10.3.3VSAM檔案
10.4動態索引B樹
10.4.1B樹
10.4.2B+樹
10.5散列檔案
10.6多關鍵碼檔案
10.6.1多重表檔案
10.6.2倒排檔案
本章小結
參考文獻

相關詞條

熱門詞條

聯絡我們