數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計

出版時間:2009-6  出版社:國防工業(yè)出版社  作者:周海英,馬巧梅,靳雁霞  頁數(shù):322  

前言

數(shù)據(jù)結(jié)構(gòu)課程作為國內(nèi)計算機及信息管理等相關(guān)專業(yè)的重要專業(yè)基礎(chǔ)課已有二十多年的教學實踐了。該門課程對于其他計算機專業(yè)課程的學習會打下重要的知識基礎(chǔ),已成為計算機類本專科學生的核心課程。從國內(nèi)外的教學情況可以看出,數(shù)據(jù)結(jié)構(gòu)課程的基本內(nèi)容體系已漸趨成熟,其中的一些內(nèi)容吸收了離散數(shù)學中的部分理論,對計算機專業(yè)課程的學習和軟件開發(fā)提供了重要的理論和方法基礎(chǔ)。本書的編寫是根據(jù)國內(nèi)該課程的教學情況,結(jié)合研究生入學考試中數(shù)據(jù)結(jié)構(gòu)的重要知識點,參考了大量的相關(guān)書籍后編寫完成,可以作為本科、??茢?shù)據(jù)結(jié)構(gòu)課程的教材和參考書,也可作為參加研究生考試的學生的輔導教材。本書在編寫中以理論和實踐相結(jié)合,根據(jù)作者多年的教學實踐總結(jié)出的經(jīng)驗在講解數(shù)據(jù)結(jié)構(gòu)算法和一般理論的基礎(chǔ)上,給出了大量的典型例題和習題,便于學生在掌握理論方法的同時就能熟練把握課程重要的知識點和方法,并通過對例題的消化理解以及習題練習迅速掌握重要的解題方法和算法設(shè)計技巧,為提高學習的效率和效果提供良好的幫助。本書在第1章到第4章中主要介紹了數(shù)據(jù)結(jié)構(gòu)的基本概念,線性表以及棧和隊列等線性結(jié)構(gòu)的基本知識,這些內(nèi)容是數(shù)據(jù)結(jié)構(gòu)的重要基礎(chǔ),在內(nèi)容上涉及大量的概念和算法,本書在編寫時給出了大量的例題,其中一些就是定義和基本概念方面的問答題,通過這些內(nèi)容使讀者了解數(shù)據(jù)結(jié)構(gòu)研究的基本內(nèi)容和重要方法,為后面章節(jié)的學習打好基礎(chǔ)。第5章介紹了遞歸,本章內(nèi)容主要與算法分析與設(shè)計課程有聯(lián)系,在講授時可以根據(jù)教學要求進行選擇。第6章介紹了數(shù)組、特殊矩陣和廣義表方面的內(nèi)容,這章的內(nèi)容與前面章節(jié)的內(nèi)容有關(guān)聯(lián),但內(nèi)容的邏輯性上又有一定的獨立性。第7章到第8章主要介紹樹和圖兩種常用的非線性結(jié)構(gòu),它們是數(shù)據(jù)結(jié)構(gòu)中的重點內(nèi)容之一,對解決實際問題提供了重要的方法論基礎(chǔ),本書安排了大量篇幅給予講解。第9章和第10章的排序和查找是實際應用中最常見的問題,對于算法設(shè)計和編程有重要的幫助,也是數(shù)據(jù)結(jié)構(gòu)中的另一個重點內(nèi)容之一。第11章介紹文件,這章的內(nèi)容可以根據(jù)課時情況作為選講內(nèi)容。

內(nèi)容概要

本書主要介紹了數(shù)據(jù)結(jié)構(gòu)的基本概念和基本算法。全書共分11章。前6章主要介紹了線性表、棧和隊列、串、遞歸、數(shù)組特殊矩陣和廣義表,后5章主要介紹了樹、圖、奎找、排序和文件。    本書內(nèi)容詳實,基本原理與算法實現(xiàn)相互結(jié)合并配套了大量典型例題,便于初學者掌握重要的概念、原理和算法設(shè)計方法,也方便了讀者復習該課程的重要知識點。    本書可作為高等院校計算機及相關(guān)專業(yè)本科生數(shù)據(jù)結(jié)構(gòu)課程的教材,也可作為計算機工程技術(shù)人員學習的參考書。

書籍目錄

第1章 緒論  1.1 什么是數(shù)據(jù)結(jié)構(gòu)  1.2 基本概念和術(shù)語  1.3 數(shù)據(jù)結(jié)構(gòu)的發(fā)展及其重要地位  1.4 算法的描述和算法分析    1.4.1 算法的描述    1.4.2 算法設(shè)計的要求    1.4.3 算法效率的度量    1.4.4 算法的存儲空間需求  1.5 典型例題  習題1第2章 線性表  2.1 線性表的邏輯結(jié)構(gòu)    2.1.1 線性表的定義    2.1.2 線性表的基本操作  2.2 線性表的順序存儲及運算實現(xiàn)    2.2.1  順序表    2.2.2 順序表上基本運算的實現(xiàn)    2.2.3 順序表應用舉例  2.3 線性表的鏈式存儲和運算實現(xiàn)    2.3.1  單鏈表    2.3.2 單鏈表上基本運算的實現(xiàn)    2.3.3 循環(huán)鏈表    2.3.4 雙向鏈表    2.3.5 靜態(tài)鏈表    2.3.6 單鏈表應用舉例  2.4 順序表和鏈表的比較  2.5 典型例題  習題2第3章 棧和隊列  3.1  棧    3.1.1 棧的定義及基本運算    3.1.2 棧的存儲實現(xiàn)和運算實現(xiàn)  3.2 棧的應用舉例  3.3  隊列    3.3.1  隊列的定義及基本運算    3.3.2 隊列的存儲實現(xiàn)及運算實現(xiàn)  3.4 隊列應用舉例  3.5 典型例題  習題3第4章  串  4.1  串的概念和基本運算    4.1.1  串的基本概念    4.1.2 串的基本運算  4.2 串的存儲結(jié)構(gòu)    4.2.1  串的靜態(tài)存儲結(jié)構(gòu)    4.2.2 串的動態(tài)存儲結(jié)構(gòu)  4.3 字符串的模式匹配    4.3.1  Brute-Force算法    4.3.2 KMP算法  4.4 串應用——文本編輯軟件  4.5 典型例題  習題4第5章 遞歸  5.1 遞歸的概念  5.2 用C語言實現(xiàn)遞歸 ……第6章 數(shù)組、特殊矩陣和廣義表第7章 樹形結(jié)構(gòu)第8章 圖第9章 查找第10章 排序第11章 文件參考文獻

章節(jié)摘錄

插圖:第1章緒論自從第一臺電子計算機問世以來,計算機科學得到了飛速的發(fā)展,與此同時,計算機的應用領(lǐng)域也從最初的科學計算逐步發(fā)展到更高級的階段,如圖像處理、語音識別、機器翻譯、人工智能等多個領(lǐng)域?,F(xiàn)在計算機處理的對象不僅是簡單的數(shù)值或字符,而且?guī)в胁煌Y(jié)構(gòu)的各種數(shù)據(jù)。因此,要設(shè)計一個好的軟件,除了要掌握一定的計算機程序設(shè)計語言之外,還必須研究各類數(shù)據(jù)的特性以及數(shù)據(jù)之間存在的關(guān)系。這是因為計算機要加工處理數(shù)據(jù),必須能夠?qū)?shù)據(jù)輸入到計算機中,并能夠以恰當?shù)姆绞皆谟嬎銠C中表示并存儲起來,還要便于根據(jù)需要對數(shù)據(jù)進行加工和處理,因而當各種數(shù)據(jù)輸入計算機之前,必須先按某種數(shù)據(jù)的組織.形式將數(shù)據(jù)組織好,然后考慮以什么樣的方式進行存儲,這種組織形式和存儲方式直接關(guān)系到程序?qū)?shù)據(jù)的處理能力和處理效率,并影響到問題的解決。綜上所述,可以這樣理解,計算機在解決一個問題時,先將問題中的有關(guān)對象抽取出來形成數(shù)據(jù),并將這些數(shù)據(jù)組織在一起。為了要合理組織這些數(shù)據(jù),就要先找到各個數(shù)據(jù)之間的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu),從而選擇一種合理的組織方式。其次,還要考慮計算機如何存儲這些組織好的數(shù)據(jù),即數(shù)據(jù)的物理結(jié)構(gòu)或存儲結(jié)構(gòu)。因此,數(shù)據(jù)結(jié)構(gòu)這門課程就是要解決兩個主要的問題:數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的存儲結(jié)構(gòu)。1.1什么是數(shù)據(jù)結(jié)構(gòu)一般來說,當用計算機解決一個具體問題時,大致都需要經(jīng)過下面幾個步驟:首先要從具體問題中抽象出一個適當?shù)臄?shù)學模型(或數(shù)學公式),然后設(shè)計一個描述此數(shù)學模型的算法,最后利用合適的程序設(shè)計語言來編寫程序,進行測試、調(diào)整,直至最終得到滿意的解答。抽象數(shù)學模型的過程實質(zhì)上是分析問題,從中提取操作的對象并找出這些操作對象之間含有的關(guān)系,然后用數(shù)學的語言加以描述的過程。事實上,有些問題的求解過程可以通過一定的方程進行一定的運算來獲取。例如,求解梁架結(jié)構(gòu)中應力的數(shù)學模型為線性方程組;預報人口增長情況的數(shù)學模型為微分方程。然而,更多的非數(shù)值計算問題卻無法用數(shù)學方程加以描述。

編輯推薦

《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(第2版)》特色:選配了大量的典型例題和經(jīng)典習題;精選的部分習題為近年來考研“高頻題”;突出算法設(shè)計與概念方法相互配合講解的技巧。《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(第2版)》配套的編程練習庫CodeLab,在線即時反饋。本編程練習庫與北美136所大學同步。有興趣的讀者可以與jtwang@ndip.cn聯(lián)系。

圖書封面

評論、評分、閱讀與下載


    數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計 PDF格式下載


用戶評論 (總計1條)

 
 

  •   不是偽代碼,講得也比較通俗易懂,不錯
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7