出版時(shí)間:2009-1 出版社:電子工業(yè)出版社 作者:葉核亞 頁數(shù):305
Tag標(biāo)簽:無
前言
數(shù)據(jù)結(jié)構(gòu)是軟件設(shè)計(jì)的重要理論和實(shí)踐基礎(chǔ),數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和算法設(shè)計(jì)是軟件系統(tǒng)設(shè)計(jì)的核心。“數(shù)據(jù)結(jié)構(gòu)”課程討論的知識內(nèi)容是軟件設(shè)計(jì)的理論基礎(chǔ)。“數(shù)據(jù)結(jié)構(gòu)”課程介紹的技術(shù)方法是軟件設(shè)計(jì)中使用的基本方法?!皵?shù)據(jù)結(jié)構(gòu)”是理論與實(shí)踐并重的課程,要求學(xué)生既要掌握數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)理論知識,又要掌握運(yùn)行和調(diào)試程序的基本技能。因此,“數(shù)據(jù)結(jié)構(gòu)”課程在計(jì)算機(jī)類各專業(yè)本科學(xué)生的培養(yǎng)過程中有著十分重要的地位,是計(jì)算機(jī)類專業(yè)的一門核心課程,是培養(yǎng)程序設(shè)計(jì)能力的必不可少的重要環(huán)節(jié)。
內(nèi)容概要
《數(shù)據(jù)結(jié)構(gòu)(C++版)(第2版)》全面系統(tǒng)地介紹數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)理論和算法設(shè)計(jì)方法,包括線性表、樹、圖等數(shù)據(jù)結(jié)構(gòu)以及查找和排序算法。內(nèi)容涉及的廣度和深度符合計(jì)算機(jī)專業(yè)本科的基本要求,體現(xiàn)了本科教學(xué)的培養(yǎng)目標(biāo)?! 稊?shù)據(jù)結(jié)構(gòu)(C++版)(第2版)》采用C++語言,以面向?qū)ο蠓椒枋鰯?shù)據(jù)結(jié)構(gòu)和算法?!稊?shù)據(jù)結(jié)構(gòu)(C++版)(第2版)》理論敘述精練,結(jié)構(gòu)安排合理,重點(diǎn)是數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和算法設(shè)計(jì),通過降低理論難度和抽象性、加強(qiáng)實(shí)踐環(huán)節(jié)等措施,力求增強(qiáng)學(xué)生的理解能力和應(yīng)用能力。
書籍目錄
第1章 緒論1.1 數(shù)據(jù)結(jié)構(gòu)的基本概念1.1.1 為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)1.1.2 什么是數(shù)據(jù)結(jié)構(gòu)1.1.3 數(shù)據(jù)類型與抽象數(shù)據(jù)類型1.2 算法1.2.1 什么是算法1.2.2 算法分析1.2.3 算法設(shè)計(jì)習(xí)題1實(shí)驗(yàn)1 算法設(shè)計(jì)與分析第2章 線性表2.1 線性表抽象數(shù)據(jù)類型2.2 線性表的順序表示和實(shí)現(xiàn)2.3 線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)2.3.1 線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)2.3.2 單鏈表2.3.3 雙鏈表習(xí)題2實(shí)驗(yàn)2 線性表順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)的基本操作第3章 串3.1 串抽象數(shù)據(jù)類型3.1.1 串的基本概念3.1.2 串抽象數(shù)據(jù)類型3.2 串的表示和實(shí)現(xiàn)3.2.1 串的存儲結(jié)構(gòu)3.2.2 字符串類3.3 串的模式匹配3.3.1 樸素的模式匹配(Bmte.Force)算法3.3.2 無回溯的模式匹配(KMP)算法習(xí)題3實(shí)驗(yàn)3 串的基本操作及模式匹配算法第4章 棧和隊(duì)列4.1 棧4.1.1 棧抽象數(shù)據(jù)類型4.1.2 順序棧4.1.3 鏈?zhǔn)綏?.1.4 棧的應(yīng)用4.2 隊(duì)列4.2.1 隊(duì)列抽象數(shù)據(jù)類型4.2.2 順序隊(duì)列4.2.3 鏈?zhǔn)疥?duì)列4.2.4 隊(duì)列的應(yīng)用4.3 優(yōu)先隊(duì)列4.4 遞歸習(xí)題4實(shí)驗(yàn)4 棧和隊(duì)列以及遞歸算法第5章 數(shù)組和廣義表5.1 數(shù)組5.1.1 一維數(shù)組5.1.2 多維數(shù)組5.2 特殊矩陣的壓縮存儲5.2.1 對稱(三角)矩陣的存儲5.2.2 稀疏矩陣的壓縮存儲5.3 廣義表5.3.1 廣義表抽象數(shù)據(jù)類型513.2 廣義表的存儲結(jié)構(gòu)習(xí)題5實(shí)驗(yàn)5 矩陣的存儲和運(yùn)算第6章 樹和二叉樹6.1 樹及其抽象數(shù)據(jù)類型6.1.1 樹的定義6.1.2 樹的術(shù)語6.1.3 樹的表示法6.1.4 樹抽象數(shù)據(jù)類型6.2 二叉樹及其抽象數(shù)據(jù)類型6.2.1 二叉樹定義6.2.2 二叉樹的性質(zhì)6.2.3 二叉樹的遍歷規(guī)則6.2.4 二叉樹抽象數(shù)據(jù)類型6.3 二叉樹的表示和實(shí)現(xiàn)6.3.1 二叉樹的存儲結(jié)構(gòu)6.3.2 二叉樹的二叉鏈表實(shí)現(xiàn)6.4 線索二叉樹6.4.1 線索二叉樹定義6.4.2 中序線索二叉樹6.5 哈夫曼編碼與哈夫曼樹6.5.1 哈夫曼編碼6.5.2 哈夫曼樹6.6 樹的表示和實(shí)現(xiàn)6.6.1 樹的存儲結(jié)構(gòu)6.6.2 樹的孩子兄弟鏈表實(shí)現(xiàn)習(xí)題6實(shí)驗(yàn)6 樹和二叉樹的基本操作第7章 圖7.1 圖及其抽象數(shù)據(jù)類型7.1.1 圖的基本概念7.1.2 圖抽象數(shù)據(jù)類型7.2 圖的表示和實(shí)現(xiàn)7.2.1 圖的鄰接矩陣表示7.2.2 圖的鄰接表表示7.2.3 圖的鄰接多重表表示7.3 圖的遍歷7.3.1 圖的深度優(yōu)先搜索遍歷7.3.2 圖的廣度優(yōu)先搜索遍歷7.4 最小生成樹7.4.1 生成樹7.4.2 最小生成樹的構(gòu)造算法7.5 最短路徑7.5.1 非負(fù)權(quán)值的單源最短路徑7.5.2 每對頂點(diǎn)間的最短路徑習(xí)題7實(shí)驗(yàn)7 圖的表示和操作第8章 查找8.1 查找的基本概念8.2 基于線性表的查找8.2.1 順序查找8.2.2 基于有序順序表的折半查找8.2.3 基于索引順序表的分塊查找8.3 散列8.3.1 散列表8.3.2 散列函數(shù)8.3.3 處理沖突8.3.4 鏈地址法的散列表8.4 二叉排序樹和平衡二叉樹8.4.1 二叉排序樹及其查找8.4.2 平衡二叉樹習(xí)題8實(shí)驗(yàn)8 查找算法及其效率分析第9章 排序9.1 排序的基本概念9.2 插入排序9.2.1 順序查找9.2.2 希爾排序9.3 交換排序9.3.1 冒泡排序9.3.2 快速排序9.4 選擇排序9.4.1 直接選擇排序9.4.2 堆排序9.5 歸并排序習(xí)題9實(shí)驗(yàn)9 排序算法設(shè)計(jì)及分析第10章 綜合應(yīng)用設(shè)計(jì)10.1 算法分析10.1.1 時(shí)間代價(jià)分析10.1.2 空間代價(jià)分析10.2 算法設(shè)計(jì)策略10.2.1 分治法10.2.2 動態(tài)規(guī)劃法10.2.3 貪心法10.2.4 回溯法10.3 課程設(shè)計(jì)的目的、要求和選題第11章 Visual C++集成開發(fā)環(huán)境11.1 visualC++6.0集成開發(fā)環(huán)境11.2 編輯、編譯和運(yùn)行c++程序11.2.1 新建、編輯、編譯和運(yùn)行一個(gè)C++程序11.2.2 一個(gè)項(xiàng)目包含頭文件和c++程序11.2.3 一個(gè)工作區(qū)包含多個(gè)項(xiàng)目11.3 程序調(diào)試技術(shù)11.3.1 程序錯(cuò)誤、發(fā)現(xiàn)時(shí)刻及錯(cuò)誤處理原則11.3.2 程序運(yùn)行方式11.3.3 調(diào)試界面11.3.4 調(diào)試過程附錄A ASCII碼表(前128個(gè))附錄B 運(yùn)算符及其優(yōu)先級附錄C VisuaIC++6.O常用菜單命令及說明參考文獻(xiàn)
章節(jié)摘錄
順序表通常采用數(shù)組存儲數(shù)據(jù)元素。將線性表的數(shù)據(jù)元素順序存放在數(shù)組中,數(shù)據(jù)元素在數(shù)組中的物理順序與線性表中元素的順序關(guān)系完全相同。 數(shù)組是順序存儲的隨機(jī)存取結(jié)構(gòu),占用一組連續(xù)的存儲單元,通過下標(biāo)(序號)識別元素,元素地址是下標(biāo)的線性函數(shù)。一個(gè)下標(biāo)能夠唯一確定一個(gè)元素,存取任何一個(gè)元素所花費(fèi)的時(shí)間是在程序設(shè)計(jì)語言中,數(shù)組已被實(shí)現(xiàn)為一種構(gòu)造數(shù)據(jù)類型。數(shù)組一旦占用一片存儲空間,這片存儲空間的地址和長度就是確定的,不能更改。因此,數(shù)組只能進(jìn)行賦值、取值兩種隨機(jī)存取操作,不能進(jìn)行插入、刪除操作。數(shù)組的內(nèi)存分配有靜態(tài)和動態(tài)兩種方式,靜態(tài)數(shù)組和動態(tài)數(shù)組都是定長的,當(dāng)數(shù)組容量不夠時(shí),都不能就地?cái)U(kuò)容?! ?.順序表的插入和刪除操作順序表的插入和刪除操作要移動數(shù)據(jù)元素。在順序表元素位置插入元素,首先必須將元素向后移動,空出一個(gè)位置,然后將插入,元素移動過程?! ∪鐖D2.2 如果數(shù)組已滿,則不能插入,稱為數(shù)據(jù)溢出。解決數(shù)據(jù)溢出的辦法是,申請另一個(gè)更大容量的數(shù)組并復(fù)制全部數(shù)組元素,這樣就擴(kuò)充了順序表的容量。
編輯推薦
《數(shù)據(jù)結(jié)構(gòu)(C++版)(第2版)》有配套的教學(xué)資料包,包括源代碼、電子課件及習(xí)題解答?!稊?shù)據(jù)結(jié)構(gòu)(C++版)(第2版)》可作為普通高等學(xué)校計(jì)算機(jī)及相近專業(yè)學(xué)生的數(shù)據(jù)結(jié)構(gòu)課程的教材,也可作為從事計(jì)算機(jī)軟件開發(fā)和工程應(yīng)用人員的參考書。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載