出版時間:2004-10 出版社:清華大學(xué)出版社 作者:徐孝凱 頁數(shù):275
Tag標(biāo)簽:無
前言
數(shù)據(jù)結(jié)構(gòu)主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、在計算機中的存儲結(jié)構(gòu)以及對數(shù)據(jù)進(jìn)行各種非數(shù)值運算的方法和算法。數(shù)據(jù)的邏輯結(jié)構(gòu)分為集合、線性、樹(層次)、圖(網(wǎng)狀)等四種基本結(jié)構(gòu),由它們可以構(gòu)成任何較復(fù)雜的邏輯結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)分為順序、鏈接、索引、散列等四種基本結(jié)構(gòu),同樣由它們能夠構(gòu)成各種較復(fù)雜的存儲結(jié)構(gòu)。對數(shù)據(jù)進(jìn)行的非數(shù)值運算主要包括查找、排序、插入、刪除、修改、遍歷等。對于同樣的數(shù)據(jù),若采用的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)不同,對某一運算所采用的方法不同,則將得到不同的算法,進(jìn)而在計算機上會有不同的運行時間和存儲空間效率。通過該課程的學(xué)習(xí),讀者能夠根據(jù)實際應(yīng)用中對數(shù)據(jù)處理的要求,為數(shù)據(jù)選擇和建立合適的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),接著選擇和使用較好的數(shù)據(jù)處理方法,以及利用一種程序設(shè)計語言編寫出相應(yīng)的算法,最后在計算機系統(tǒng)上調(diào)試、運行和實現(xiàn)算法。 本書是根據(jù)一般計算機及相關(guān)專業(yè)對開設(shè)數(shù)據(jù)結(jié)構(gòu)課程的知識結(jié)構(gòu)要求編寫的,它介紹的是數(shù)據(jù)結(jié)構(gòu)學(xué)科成熟而實用的知識,擯棄那些深奧難懂而又過時不用的內(nèi)容;在寫法上力求條理清楚、層次分明、內(nèi)容連貫、循序漸進(jìn)、便于閱讀和自學(xué);在各種運算方法和算法的分析上,力求細(xì)致、生動、深入、透徹、便于理解。
內(nèi)容概要
本書是利用C語言編寫的一本數(shù)據(jù)結(jié)構(gòu)教材,適合在學(xué)習(xí)C語言之后使用。全書介紹了各種常用而具體的數(shù)據(jù)結(jié)構(gòu)、對應(yīng)的存儲結(jié)構(gòu)、以及各種典型運算的方法和算法。書中含有豐富而實用的算法實例,這些算法都具有較好的可讀性、結(jié)構(gòu)化和時空有效性,通過深入地學(xué)習(xí)和分析,能夠大大提高軟件開發(fā)和設(shè)計能力。本書適合作為各級各類學(xué)校開設(shè)數(shù)據(jù)結(jié)構(gòu)課程的教材或教學(xué)參考書,也適合軟件開發(fā)人員參考。
書籍目錄
第1章 緒論 1.1 基本概念 1.2 算法描述 1.3 算法評價 習(xí)題一第2章 線性表 2.1 線性表的定義和操作 2.2 線性表的順序存儲結(jié)構(gòu)和操作實現(xiàn) 2.2.1 線性表的序存儲 2.2.2 順序存儲下線性表的操作實現(xiàn) 2.3 線性表的鏈接存儲結(jié)構(gòu) 2.3.1 鏈接存儲的概念 2.3.2 線性表的鏈接存儲 2.3.3 在單鏈表上的插入和刪除操作 2.3.4 單鏈表中的結(jié)點類型 2.3.5 向鏈表中的結(jié)點類型和插入與刪除操作 2.3.6 帶表頭附加結(jié)點的線性鏈表 2.3.7 循環(huán)鏈表 2.4 線性表操作在單鏈表上的實現(xiàn) 習(xí)題二第3章 稀疏矩陣和廣義表 3.1 稀疏矩陣 3.1.1 稀疏矩陣的定義 3.1.2 稀疏矩陣的存儲結(jié)構(gòu) 3.1.3 稀疏矩陣的運算 3.2 廣義表 3.2.1 廣義表的定義 3.2.2 廣義表的存儲結(jié)構(gòu) 3.2.3 廣義表的運算 3.2.4 簡單程序舉例 習(xí)題三第4章 棧和隊列 4.1 棧 4.1.1 棧的定義 4.1.2 棧的運算概述 4.2 棧的順序存儲結(jié)構(gòu)和操作實現(xiàn) 4.3 棧的鏈接存儲結(jié)構(gòu)和操作實現(xiàn) 4.4 棧的簡單應(yīng)用舉例 4.5 算術(shù)表達(dá)式的計算 4.5.1 算術(shù)表達(dá)式的兩種表示 4.5.2 后綴表達(dá)式求值的算法 4.5.3 把中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式的算法 4.6 棧與遞歸 4.7 隊列 4.7.1 隊列的定義 4.7.2 隊列的運算概述 4.7.3 隊列的順序存儲結(jié)構(gòu)和操作實現(xiàn) 4.7.4 隊列的鏈接存儲結(jié)構(gòu)和操作實現(xiàn) 4.7.5 隊列的應(yīng)用簡介 習(xí)題四第5章 樹和二叉樹 5.1 樹的概念 5.1.1 樹的定義 5.1.2 樹的表示 5.1.3 樹的基本術(shù)語 5.1.4 樹的性質(zhì) 5.2 二叉樹 5.2.1 二叉樹的定義 5.2.2 二叉樹的性質(zhì) 5.2.3 二叉樹的運算概述 5.2.4 二叉樹的存儲結(jié)構(gòu) 5.3 二叉樹遍歷 5.4 二叉樹的其他運算 5.5 樹的存儲結(jié)構(gòu)和運算 5.5.1 樹的運算概述 5,5.2 樹的存儲結(jié)構(gòu) 5.5.3 樹的運算 習(xí)題五第6章 二叉樹的應(yīng)用第7章 圖第8章 查找第9章 排序參考文獻(xiàn)
章節(jié)摘錄
數(shù)據(jù)結(jié)構(gòu)課程是計算機及相關(guān)專業(yè)中的一門專業(yè)基礎(chǔ)課,它介紹和研究數(shù)據(jù)在計算機中的組織、存儲和處理的方法。這里所說的數(shù)據(jù)的概念是廣義的,它不僅表示單一的數(shù)據(jù),如字符、數(shù)值等,而且表示帶結(jié)構(gòu)的數(shù)據(jù),如記錄、數(shù)組、矩陣、登記表、結(jié)構(gòu)圖等。數(shù)據(jù)在計算機中的組織和存儲方法有順序、鏈接、散列、索引等多種,根據(jù)數(shù)據(jù)處理的需要可從中選擇一種或幾種的組合來存儲數(shù)據(jù)。對數(shù)據(jù)進(jìn)行處理的方法又叫做算法,它是根據(jù)數(shù)據(jù)處理的實際需要而逐漸產(chǎn)生和發(fā)展起來的。現(xiàn)在人們已經(jīng)總結(jié)出進(jìn)行數(shù)據(jù)處理的各種具體、實用和有效的算法,根據(jù)這些算法和存儲在計算機中的數(shù)據(jù),再利用一種算法描述語言(如C語言)和面向過程或?qū)ο蟮某绦蛟O(shè)計方法就能夠編寫出進(jìn)行數(shù)據(jù)處理的程序,通過計算機運行這個程序自動完成特定的數(shù)據(jù)處理任務(wù)。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)課程除了要學(xué)習(xí)和研究已有的數(shù)據(jù)存儲結(jié)構(gòu)和數(shù)據(jù)處理算法之外,更重要的是根據(jù)自己解決實際問題的需要,進(jìn)行有效的數(shù)據(jù)存儲和數(shù)據(jù)處理。
媒體關(guān)注與評論
書評本書特色:從基本概念出發(fā),由淺入深,循序漸進(jìn),聯(lián)系實際,每一小單元均有上機操作的實踐環(huán)節(jié),直觀、自然、易于理解。
編輯推薦
本書特色:從基本概念出發(fā),由淺入深,循序漸進(jìn),聯(lián)系實際,每一小單元均有上機操作的實踐環(huán)節(jié),直觀、自然、易于理解。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載