出版時(shí)間:2010-9 出版社:北京郵電大學(xué)出版社 作者:肖波,徐雅靜 編著 頁數(shù):288
Tag標(biāo)簽:無
內(nèi)容概要
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)及其相關(guān)專業(yè)的重要課程,是計(jì)算機(jī)軟件開發(fā)及應(yīng)用人員必備的專業(yè)基礎(chǔ)。本書首先介紹數(shù)據(jù)結(jié)構(gòu)與算法的基礎(chǔ)知識(shí),然后系統(tǒng)地論述線性表、棧、隊(duì)列、串、數(shù)組和廣義表、樹和二又樹、圖等基本數(shù)據(jù)結(jié)構(gòu),并討論了常用的查找和排序技術(shù)。在用例選擇方面充分考慮了電子信息類專業(yè)特點(diǎn),尤其突出信息與通信工程相關(guān)專業(yè)的特色。在各章最后描述了相應(yīng)的標(biāo)準(zhǔn)模板庫(STL),旨在使讀者了解STL與數(shù)據(jù)結(jié)構(gòu)的關(guān)系,并且能夠掌握各類STL的應(yīng)用,提高實(shí)際應(yīng)用能力和程序設(shè)計(jì)的效率。 本書內(nèi)容豐富、層次清晰、講解深入淺出,可作為計(jì)算機(jī)及相關(guān)專業(yè),尤其是電子信息類專業(yè)本專科數(shù)據(jù)結(jié)構(gòu)課程的教材,也可供從事計(jì)算機(jī)軟件開發(fā)和應(yīng)用的工程技術(shù)人員閱讀和參考。
書籍目錄
第1章 緒論 1.1 數(shù)據(jù)結(jié)構(gòu)的起源 1.2 數(shù)據(jù)結(jié)構(gòu)的基本概念 1.3 算法和算法分析 1.3.1 算法描述 1.3.2 算法分析 1.4 STL與數(shù)據(jù)結(jié)構(gòu) 1.4.1 STL簡介 1.4.2 STL與數(shù)據(jù)結(jié)構(gòu)的關(guān)系 1.4.3 STL應(yīng)用舉例 1.5 實(shí)例分析 習(xí)題第2章 線性表 2.1 線性表的邏輯結(jié)構(gòu) 2.1.1 線性表的定義 2.1.2 線性表的運(yùn)算 2.2 線性表的順序存儲(chǔ)結(jié)構(gòu) 2.2.1 順序表 2.2.2 順序表的基本運(yùn)算 2.2.3 順序表應(yīng)用舉例 2.3 線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 2.3.1 單鏈表 2.3.2 單鏈表的基本運(yùn)算 2.3.3 循環(huán)鏈表 2.3.4 雙向鏈表 2.3.5 靜態(tài)鏈表 2.4 順序表與鏈表的比較 2.4.1 時(shí)間性能比較 2.4.2 空間性能比較 2.4.3 高級(jí)語言的支持 2.5 應(yīng)用舉例 2.5.1 一元多項(xiàng)式的求和 2.5.2 動(dòng)態(tài)內(nèi)存管理 2.6 STL中的相關(guān)模板類 2.6.1 向量 2.6.2 列表 習(xí)題第3章 棧、隊(duì)列和串 3.1 棧 3.1.1 棧的邏輯結(jié)構(gòu) 3.1.2 棧的順序存儲(chǔ)結(jié)構(gòu) 3.1.3 棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 3.2 隊(duì)列 3.2.1 隊(duì)列的邏輯結(jié)構(gòu) 3.2.2 循環(huán)隊(duì)列 3.2.3 鏈隊(duì)列 3.3 串 3.3.1 串的邏輯結(jié)構(gòu) 3.3.2 串的存儲(chǔ)結(jié)構(gòu) 3.3.3 串的模式匹配 3.4 實(shí)例分析 3.4.1 函數(shù)調(diào)用與遞歸 3.4.2 優(yōu)先級(jí)隊(duì)列的調(diào)度 3.5 STL中的相關(guān)模板類 3.5.1 雙端隊(duì)列 3.5.2 棧適配器 3.5.3 STL中的隊(duì)列 3.5.4 串類型 習(xí)題第4章 多維數(shù)組和廣義表 4.1 多維數(shù)組 4.2 矩陣的壓縮存儲(chǔ) 4.2.1 特殊矩陣壓縮存儲(chǔ) 4.2.2 稀疏矩陣壓縮存儲(chǔ) 4.3 廣義表 4.3.1 廣義表的邏輯結(jié)構(gòu) 4.3.2 廣義表的存儲(chǔ)結(jié)構(gòu) 4.4 實(shí)例分析 4.4.1 BMP文件結(jié)構(gòu)分析 4.4.2 簡單圖像處理——平滑技術(shù) 4.5 使用STL操作多維數(shù)組 習(xí)題第五章 樹 5.1 概述 5.1.1 基本概念 5.1.2 樹的存儲(chǔ)結(jié)構(gòu) 5.1.3 樹的遍歷 5.2 二叉樹 5.2.1 二叉樹的性質(zhì) 5.2.2 二叉樹的存儲(chǔ) 5.2.3 二叉樹的遍歷 5.2.4 二叉樹的實(shí)現(xiàn) 5.3 樹和森林 5.3.1 樹、森林與二叉樹的轉(zhuǎn)換 5.3.2 森林的遍歷 5.4 哈夫曼樹和編碼 5.4.1 算法原理 5.4.2 算法實(shí)現(xiàn) 習(xí)題第6章 圖 6.1 圖的邏輯結(jié)構(gòu) 6.1.1 圖的定義 6.1.2 圖的基本術(shù)語 6.2 圖的存儲(chǔ)結(jié)構(gòu) 6.2.1 鄰接矩陣 6.2.2 鄰接表 6.2.3 十字鏈表 6.2.4 鄰接多重表 6.2.5 邊集數(shù)組 6.2.6 圖的存儲(chǔ)結(jié)構(gòu)比較 6.3 圖的遍歷 6.3.1 深度優(yōu)先遍歷 6.3.2 廣度優(yōu)先遍歷 6.4 最小生成樹 6.4.1 普里姆算法 6.4.2 克魯斯卡爾算法 6.5 最短路徑 6.5.1 Dijkstra算法 6.5.2 Floyd算法 習(xí)題第7章 查找 7.1 概述 7.1.1 基本概念 7.1.2 查找算法的性能 7.2 線性表查找 7.2.1 順序查找 7.2.2 折半查找 7.2.3 分塊查找 7.3 樹表的查找技術(shù) 7.3.1 二叉排序樹 7.3.2 平衡二叉樹 7.4 散列表的查找技術(shù) 7.4.1 散列技術(shù) 7.4.2 散列函數(shù)設(shè)計(jì) 7.4.3 沖突處理 7.4.4 算法的性能 7.5 查找的應(yīng)用 7.5.1 文件查找 7.5.2 中文分詞技術(shù)中的詞搜索算法 7.6 STL中的相關(guān)模板類 7.6.1 集合 7.6.2 STL通用工具pair 7.6.3 映射 7.6.4 總結(jié) 習(xí)題第8章 排序 8.1 概述 8.1.1 基本概念 8.1.2 排序的分類 8.1.3 算法性能 8.2 插入排序 8.2.1 概述 8.2.2 直接插入排序 8.2.3 希爾排序 8.3 交換排序 8.3.1 概述 8.3.2 起泡排序 8.3.3 快速排序 8.4 選擇排序 8.4.1 概述 8.4.2 簡單選擇排序 8.4.3 堆排序 8.5 歸并排序 8.5.1 概述 8.5.2 二路歸并排序 8.6 排序的比較 8.7 外部排序 8.8 STL中相關(guān)排序算法 8.8.1 排序中的比較函數(shù) 8.8.2 全排序 8.8.3 局部排序 8.8.4 指定元素排序 8.8.5 Sort和容器 習(xí)題附錄參考文獻(xiàn)
章節(jié)摘錄
人們在進(jìn)行程序設(shè)計(jì)時(shí)通常關(guān)注兩個(gè)重要問題,一是如何將待處理的數(shù)據(jù)存儲(chǔ)到計(jì)算機(jī)內(nèi)存中,即數(shù)據(jù)表示;二是如何設(shè)計(jì)相應(yīng)的算法操作這些數(shù)據(jù),即數(shù)據(jù)處理。數(shù)據(jù)表示的本質(zhì)是數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)處理的本質(zhì)是算法設(shè)計(jì),這兩個(gè)問題往往是相互作用的,數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)得好,處理算法效率就高。數(shù)據(jù)結(jié)構(gòu)課程主要討論數(shù)據(jù)的邏輯表示、存儲(chǔ)方法和數(shù)據(jù)處理的基本問題,這些內(nèi)容對(duì)于進(jìn)行高效率的計(jì)算機(jī)程序開發(fā)非常重要。本章將系統(tǒng)地論述數(shù)據(jù)結(jié)構(gòu)的基本概念、算法分析的基本方法,并對(duì)C++的標(biāo)準(zhǔn)模板類(STL)進(jìn)行簡要介紹?! ?.1數(shù)據(jù)結(jié)構(gòu)的起源 數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)及其相關(guān)專業(yè)的重要課程。隨著計(jì)算機(jī)科學(xué)和技術(shù)的不斷發(fā)展,眾多的計(jì)算機(jī)系統(tǒng)軟件和應(yīng)用軟件都要用到數(shù)據(jù)結(jié)構(gòu),如通信協(xié)議軟件的開發(fā)、信息處理技術(shù)、數(shù)據(jù)挖掘等。數(shù)據(jù)結(jié)構(gòu)起源于程序設(shè)計(jì),并隨著程序設(shè)計(jì)的發(fā)展而發(fā)展?! ≡谟?jì)算機(jī)發(fā)展初期,人們使用計(jì)算機(jī)主要是處理數(shù)值計(jì)算問題。由于當(dāng)時(shí)計(jì)算機(jī)的計(jì)算能力低下,所涉及的運(yùn)算對(duì)象是簡單的整數(shù)、實(shí)數(shù)及布爾型數(shù)據(jù),所以程序設(shè)計(jì)者將主要精力集中于程序設(shè)計(jì)的技巧上,而不需要設(shè)計(jì)復(fù)雜的存儲(chǔ)方法,因此無須重視數(shù)據(jù)結(jié)構(gòu)。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu)與STL PDF格式下載