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