本書以數據的邏輯結構為線索,介紹數據結構及其建立在數據結構之上的操作和算法,內容涉及數據結構與算法的基本概念、順序存儲結構的線性表、鏈式存儲結構的線性表、串、數組、特殊矩陣與廣義表、樹與二叉樹、圖及其應用、查找與搜索引擎、排序等。
本書既強調“算法”與“數據結構”之間緊密的依賴關系,也注重算法描述的簡潔與干練;既有完整的理論體系,也有很好的應用案例。為了增強可理解性,本書案例與生活實踐相聯系。
本書以知識單元為基本構件,既可拆卸也可重組,內容豐富,表述詳盡,可讀性強,適合不同類型的本科院校按照不同的培養規格組織教學。
廣西特色專業及課程一體化建設項目成果,廣西高等教育教學改革工程重點項目成果! ∽髡邎F隊開發了“數據結構與算法綜合集成演示系統”。
唐培和,教務處處長,教授,博導,自1986年參加工作,一直在廣西科技大學任教。曾被評為廣西高校教學名師。先后榮獲廣西教學成果一等獎1項、三等獎2項,廣西高校優秀教材二等獎1項。
第1章 數據結構與算法概述
1.1 引言
1.1.1 《數據結構與算法》課程到底研究什么
1.1.2 《數據結構與算法》課程介紹
1.1.3 為什么要學習《數據結構與算法》課程
1.2 基本概念和術語
1.2.1 數據
1.2.2 數據項
1.2.3 數據元素
1.2.4 數據對象
1.2.5 數據結構
1.2.6 數據結構的形式化描述
1.2.7 數據的邏輯結構、存儲結構與物理結構
1.2.8 數據結構實例
1.3 算法
第1章 數據結構與算法概述
1.1 引言
1.1.1 《數據結構與算法》課程到底研究什么
1.1.2 《數據結構與算法》課程介紹
1.1.3 為什么要學習《數據結構與算法》課程
1.2 基本概念和術語
1.2.1 數據
1.2.2 數據項
1.2.3 數據元素
1.2.4 數據對象
1.2.5 數據結構
1.2.6 數據結構的形式化描述
1.2.7 數據的邏輯結構、存儲結構與物理結構
1.2.8 數據結構實例
1.3 算法
1.3.1 什么是算法
1.3.2 算法的性質
1.3.3 算法和程序
1.4 算法的表示(描述)
1.4.1 自然語言
1.4.2 計算機語言
1.4.3 圖形化工具
1.4.4 偽代碼
1.5 算法設計的準則
1.5.1 正確性
1.5.2 可讀性
1.5.3 健壯性
1.5.4 效率
1.6 算法效率分析
1.6.1 事后統計的方法
1.6.2 事前分析估算的方法
1.6.3 算法的空間復雜度
1.7 抽象數據類型
閱讀材料
習題1
第2章 順序存儲結構的線性表
2.1 基本概念和操作
2.1.1 什么是線性表
2.1.2 線性表的邏輯結構
2.1.3 線性表的基本操作
2.1.4 線性表的順序存儲結構
2.1.5 線性表的插入與刪除操作(算法)
2.1.6 順序表應用舉例
2.2 堆棧
2.2.1 堆棧的定義
2.2.2 棧的順序存儲結構與操作(算法)
2.2.3 堆棧在算法設計中的應用
2.3 隊列
2.3.1 隊列的定義
2.3.2 隊列的順序存儲結構與操作(算法)
2.3.3 循環隊列
2.3.4 隊列應用舉例
2.4 集合及其運算
2.4.1 集合的定義
2.4.2 集合運算
2.4.3 集合的順序存儲結構和操作實現
小結
習題2
第3章 鏈式存儲結構的線性表
3.1 什么是鏈式存儲結構的線性表
3.2 線性鏈表的操作(算法)
3.2.1 線性鏈表的構造
3.2.2 求表長
3.2.3 查找操作
3.2.4 線性鏈表的插入
3.2.5 線性鏈表的刪除
3.3 棧的鏈式存儲結構
3.4 隊列的鏈式存儲結構
3.5 循環鏈表
3.6 雙向鏈表
3.7 靜態鏈表
3.8 鏈表應用
3.9 一元多項式的存儲和相加
3.10 集合的鏈式存儲結構與操作
3.11 順序表和鏈表的比較
習題3
第4章 串
第5章 數組、特殊矩陣與廣義表
第6章 樹與二叉樹
第7章 圖及其應用
第8章 查找與搜索引擎
第9章 排序