數(shù)據(jù)結(jié)構(gòu)(第2版)(21世紀高等學(xué)校規(guī)劃教材 計算機科學(xué)與技術(shù))
定 價:34.5 元
叢書名:21世紀高等學(xué)校規(guī)劃教材·計算機科學(xué)與技術(shù)
- 作者:王震江 主編
- 出版時間:2013/10/1
- ISBN:9787302340287
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP311.12
- 頁碼:300
- 紙張:膠版紙
- 版次:2
- 開本:16開
本書融人編者多年的教學(xué)經(jīng)驗和體會,參考國內(nèi)外流行教材,較全面地組織教材內(nèi)容,提供大量的經(jīng)典算法,并適當(dāng)引入考研典型題例供學(xué)生學(xué)習(xí),具有很強的實用性、易讀性、針對性。本書的體系結(jié)構(gòu)科學(xué)合理,可分為6個部分(10章),分別講述緒論、線性表、樹、圖、查找與排序、文件。每章后附有習(xí)題,部分選自近年考研題目,以幫助深入理解相關(guān)內(nèi)容。
本書適合作為工程型、應(yīng)用型高校理工科相關(guān)專業(yè)數(shù)據(jù)結(jié)構(gòu)課程的教材、本科高年級學(xué)生的考研參考書.也可作為程序設(shè)計自學(xué)者的參考書。
程序設(shè)計是計算機專業(yè)人員十分重要的基本功,是軟件設(shè)計的基礎(chǔ),然而,程序設(shè)計的根基并不在程序設(shè)計中,而在程序設(shè)計之外。程序設(shè)計課程介紹特定的指令、語法、語句的編寫規(guī)則,學(xué)習(xí)這些規(guī)則僅僅是最基礎(chǔ)的編程訓(xùn)練,并不能解決如何提高編程能力的問題。這與許多應(yīng)用型普通高校中初學(xué)程序設(shè)計課程的學(xué)生反映出來的問題是一致的,由于數(shù)學(xué)和物理基礎(chǔ)薄弱,程序設(shè)計中必備的數(shù)理邏輯推理和思維能力不夠強,學(xué)生在程序設(shè)計課程的學(xué)習(xí)中普遍感到困難,這種困難可能使學(xué)生對自己的編程能力產(chǎn)生懷疑,從而影響到學(xué)生對計算機專業(yè)的認同感和歸屬感。
程序設(shè)計是用來解決問題的,解決問題的關(guān)鍵是面對實際問題時有沒有解題的想法,進而在想法的基礎(chǔ)上找出解決問題的步驟,對其優(yōu)化,最終形成一個解題的算法。在軟件設(shè)計的實踐中,問題千奇百怪,五花八門,沒有一個定式,但迄今為止,在計算機領(lǐng)域中出現(xiàn)的大多數(shù)問題都有一些共性,包含相似的數(shù)據(jù)現(xiàn)象,研究這些共性和相似性,尋求解決各類問題的普適算法,可以使計算機專業(yè)的學(xué)生喜歡編程,熱愛編程,并具備較強的編程能力,成為一個合格的計算機專業(yè)人才!皵(shù)據(jù)結(jié)構(gòu)”就是這樣一門提供能夠解決具有共性和相似性問題的通用方法、有效提高編程能力的基礎(chǔ)性課程。
“數(shù)據(jù)結(jié)構(gòu)”原本是計算機專業(yè)的重要核心基礎(chǔ)課程,近年來,隨著信息技術(shù)的飛速發(fā)展,該課程的重要性已經(jīng)為從事信息技術(shù)及其相關(guān)專業(yè)教學(xué)和研究的同仁們所認識。如今,“數(shù)據(jù)結(jié)構(gòu)”已經(jīng)不再是計算機專業(yè)獨有的課程,而是發(fā)展成為高校中多個專業(yè)的重要基礎(chǔ)課,如數(shù)學(xué)類、電子技術(shù)類、信息技術(shù)類等專業(yè)。
國內(nèi)高校的計算機專業(yè)分為科學(xué)研究型、工程技術(shù)開發(fā)型、技術(shù)推廣應(yīng)用型三個層次。本書編寫的深度和難度定位于后兩個層次。本書在編者十幾年教學(xué)和實踐經(jīng)驗的基礎(chǔ)上,參考了國內(nèi)外流行教材,較全面地組織、安排了教材內(nèi)容,提供了大量的經(jīng)典算法,并適當(dāng)引入了考研典型題例供學(xué)生學(xué)習(xí),具有很強的實用性、易讀性、針對性,融入了編者多年的教學(xué)經(jīng)驗和體會。本書的體系結(jié)構(gòu)科學(xué)合理,內(nèi)容精練。每章附有一定量的習(xí)題,其中部分選自近年來的考研題目,以幫助學(xué)生深入學(xué)習(xí)和理解相關(guān)章節(jié)的內(nèi)容,并為學(xué)生的考研需求提供一定的條件。
根據(jù)國內(nèi)工程型和應(yīng)用型計算機專業(yè)普遍學(xué)習(xí)C語言的特點,本書使用C語言作為算法的描述語言。
本書可分為6個部分,分別講述緒論、線性表、樹、圖、查找與排序、文件。
第1章概述數(shù)據(jù)結(jié)構(gòu)可能涉及的內(nèi)容和分析方法,講解算法和程序的差異、算法的評價等問題。
第2~5章介紹線性表結(jié)構(gòu)、特殊線性表——棧和隊列、字符串和數(shù)組與廣義表。從順序存儲結(jié)構(gòu)和鏈表結(jié)構(gòu)兩個方面來闡述線性表的存儲結(jié)構(gòu)與建立在存儲結(jié)構(gòu)之上的算法設(shè)計,以及線性表的廣泛應(yīng)用,如棧、隊列、字符串、數(shù)組、廣義表等,并進一步討論這些數(shù)據(jù)結(jié)構(gòu)的應(yīng)用,如程序調(diào)用、皇后問題、火車編組問題等。
第6章討論樹。本書與其他教材不同的是,深入討論一般樹的計數(shù)、層次、樹高等基本問題。在二叉樹的生成中講解多種生成算法。在二叉樹的前序、中序和后序遍歷運算中討論樹的遞歸和非遞歸遍歷算法,除此之外,還討論了歐拉遍歷和按層次遍歷,線索二叉樹及其應(yīng)用,二叉樹的典型應(yīng)用——哈夫曼樹和哈夫曼編碼、排序樹、平衡樹、2-3樹、紅黑樹、表示樹、判定樹等問題。
第7章討論圖。內(nèi)容包括圖、圖的遍歷、生成樹問題、最短路徑問題、拓撲排序和關(guān)鍵路徑等。
第8章和第9章討論目前常見的查找算法和排序算法。在查找算法中,從靜態(tài)表、動態(tài)表和哈希表三個方面來研究查找算法,靜態(tài)表的數(shù)據(jù)結(jié)構(gòu)是線性表,動態(tài)表的查找主要有二叉樹查找、B樹查找和鍵樹查找等,哈希表的構(gòu)造和查找則用哈希算法來實現(xiàn)。在排序中分為內(nèi)排序和外排序兩個部分。內(nèi)排序主要討論插入排序、交換排序、選擇排序、歸并排序、基數(shù)排序等8種經(jīng)典的排序算法。外排序討論磁盤排序、勝者樹和敗者樹、最佳歸并樹和磁帶排序等。
第10章討論文件。從文件的存儲結(jié)構(gòu)入手討論文件的管理,包括順序文件、索引文件、索引順序文件、散列文件、多關(guān)鍵字文件等。
本書內(nèi)容涵蓋了目前國內(nèi)數(shù)據(jù)結(jié)構(gòu)課程涉及的幾乎所有內(nèi)容,有的進行了深入的討論,有的比較初步,這與教材編寫的指導(dǎo)思想有關(guān)。
本書由王震江擔(dān)任主編,何英、邱莎、俞銳剛、阿圓任副主編。其中,王震江編寫第1章、第2章、第6章,何英編寫第7章、第10章,邱莎編寫第8章、第9章,俞銳剛編寫第3章,阿圓編寫第4章、第5章。王震江對全書進行了統(tǒng)稿和主審,統(tǒng)一了圖例。書中提供的算法通過了上機調(diào)試。
本書是云南省精品教材建設(shè)和昆明學(xué)院精品課程建設(shè)項目的成果。感謝清華大學(xué)出版社給予的大力支持。
由于作者水平有限,編寫倉促,書中難免存在疏漏和錯誤,敬請讀者不吝賜教。
本書的配套課件等相關(guān)資源可以從清華大學(xué)出版社網(wǎng)站www.tup.com.cn下載,下載及使用中遇到任何問題,請聯(lián)系fuhy@tup.tsinghua.edu.cn。
編者
2013年5月于昆明
第1章 緒論
1.1數(shù)據(jù)結(jié)構(gòu)概述
1.1.1引言
1.1.2數(shù)據(jù)結(jié)構(gòu)有關(guān)概念及術(shù)語
1.1.3數(shù)據(jù)類型
1.2算法描述與實現(xiàn)
1.2.1算法的概念與特性
1.2.2算法的設(shè)計與實現(xiàn)
1.3算法的評價與分析
1.3.1評價標準
1.3.2算法的時間復(fù)雜性
1.3.3算法的空間復(fù)雜性
本章小結(jié)
習(xí)題l
第2章 線性表 第1章 緒論
1.1數(shù)據(jù)結(jié)構(gòu)概述
1.1.1引言
1.1.2數(shù)據(jù)結(jié)構(gòu)有關(guān)概念及術(shù)語
1.1.3數(shù)據(jù)類型
1.2算法描述與實現(xiàn)
1.2.1算法的概念與特性
1.2.2算法的設(shè)計與實現(xiàn)
1.3算法的評價與分析
1.3.1評價標準
1.3.2算法的時間復(fù)雜性
1.3.3算法的空間復(fù)雜性
本章小結(jié)
習(xí)題l
第2章 線性表
2.1線性表的基本概念
2.1.1線性表的定義
2.1.2線性表的存儲結(jié)構(gòu)
2.1.3線性表的運算
2.2順序表
2.2.1順序存儲結(jié)構(gòu)
2.2.2順序表的運算
2.2.3線性表的遍歷
2.2.4順序存儲的物理位置
2.2.5 線性表的順序存儲的主要特點
2.3鏈表
2.3.1單鏈表的定義與創(chuàng)建
2.3.2單鏈表的基本運算算法
2.3.3循環(huán)單鏈表
2.3.4雙向鏈表
2.4順序表和鏈表的比較
……
第3章 棧和列隊
第4章 串
第5章 數(shù)組和廣義表
第6章 樹
第7章 圖
第8章 查找
第9章 排序
第10章 文件
參考文獻