出版時間:2008-1 出版社:中國電力出版社 作者:馮志全 著 頁數(shù):240
前言
一方面,從計算機軟件理論角度看,程序設(shè)計=數(shù)據(jù)結(jié)構(gòu)+算法;另一方面,從軟件工程生命周期方法學(xué)的角度來看,算法設(shè)計是詳細(xì)設(shè)計階段的根本任務(wù),程序設(shè)計是代碼編寫階段的根本任務(wù)。無論從哪個角度分析,都突顯出“數(shù)據(jù)結(jié)構(gòu)”在計算機科學(xué)中的核心地位。“數(shù)據(jù)結(jié)構(gòu)”不僅是計算機學(xué)科的核心課程,而且是高等院校很多專業(yè)必修的課程。也是許多高等院校計算機專業(yè)研究生入學(xué)考試的必考科目之一?! ∪欢捎凇皵?shù)據(jù)結(jié)構(gòu)”既具有極強的理論性,又具有極強的實踐性,給讀者的學(xué)習(xí)帶來極大的困難。大多數(shù)讀者剛剛學(xué)習(xí)完“程序設(shè)計”課程,馬上就要在“數(shù)據(jù)結(jié)構(gòu)”中面臨比較復(fù)雜的程序設(shè)計,無形中會在心理上對“數(shù)據(jù)結(jié)構(gòu)”有種恐懼感。另一方面,數(shù)據(jù)結(jié)構(gòu)把程序設(shè)計、算法設(shè)計等交織在一起,而后者本身又分別是兩門比較獨立的專業(yè)學(xué)科,這就更增添了問題的復(fù)雜性,使得很多讀者摸不著頭緒,不知所措。尤其是算法設(shè)計與分析本身比較抽象,還需要讀者具有一定專業(yè)知識和實際經(jīng)驗的積累,使得不少讀者感到難度很大?! ♂槍ι鲜鰡栴},本教材應(yīng)運而生,它主要有以下特色: ?。?)沿著“一個中心、兩條主線”展開全書?!耙粋€中心”就是以“數(shù)據(jù)結(jié)構(gòu)”為中心,“兩條主線”是指同一種數(shù)據(jù)結(jié)構(gòu)分別沿著順序和鏈?zhǔn)絻煞N存儲結(jié)構(gòu)探討算法。 ?。?)把算法與程序?qū)崿F(xiàn)相分離。只要完成算法設(shè)計,至于用什么編程工具實現(xiàn)算法已經(jīng)不是問題的關(guān)鍵了?! 。?)竭力突破難點。算法設(shè)計是真正的難點所在,本教材列舉大量實例,深入淺出,給出詳細(xì)的操作過程,手把手幫助讀者突破難點?! 。?)把重點放到數(shù)據(jù)結(jié)構(gòu)的應(yīng)用上。唯有如此,才能突出算法、算法分析、程序設(shè)計等眾多學(xué)科之間的聯(lián)系,才能理解數(shù)據(jù)結(jié)構(gòu)的地位和作用,才能引導(dǎo)讀者學(xué)會根據(jù)問題需要設(shè)計恰當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)?! 。?)把計算機學(xué)科最新研究的成果引入到教材中,讓讀者從嶄新的背景中了解相關(guān)知識點,感到技術(shù)發(fā)展的嶄新氣息和強烈挑戰(zhàn)。 另外,本教材采用的總體編寫思路和組織風(fēng)格是:問題提出→問題抽象→算法思想→算法描述→算法實現(xiàn)→實例分析→算法分析,但考慮到篇幅所限,不同章節(jié)又有所差別。在適當(dāng)?shù)募夹g(shù)背景下有針對性地提出問題,有利于激發(fā)讀者的學(xué)習(xí)動機和學(xué)習(xí)興趣;從問題中抽象出一般性(數(shù)學(xué))模型,并用規(guī)范的形式進行問題描述,是計算機科學(xué)中研究問題的一個重要環(huán)節(jié);算法思想主要分析算法的核心思路,突出算法的創(chuàng)新點和關(guān)鍵點,有利于讀者探究問題的突破口;算法描述要求用專業(yè)規(guī)范的形式完整地描述解決問題模型的步驟;算法實現(xiàn)為讀者把算法轉(zhuǎn)變?yōu)槌绦虼a的基本過程進行示范,雖然教材中不少地方省略了這個環(huán)節(jié),但對于計算機開發(fā)人員來說,這是一項基本功;實例分析主要示意算法對某具體輸入的一個執(zhí)行過程,檢驗算法的正確性和可行性,同時有利于讀者加深對算法基本思想的理解;算法分析主要分析算法的時間開銷。
內(nèi)容概要
《21世紀(jì)高等學(xué)校規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計》是為適應(yīng)各類大學(xué)本科生學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的需要而編寫的教材?!?1世紀(jì)高等學(xué)校規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計》共分11章,第1章緒論主要介紹學(xué)習(xí)這門課程的意義以及這門課程的研究內(nèi)容和關(guān)鍵問題;第2章線性表主要介紹線性表的特點以及算法設(shè)計;第3章棧和隊列主要介紹這兩種結(jié)構(gòu)的實現(xiàn)方法及其應(yīng)用;第4章串主要介紹了串的幾種典型的算法;第5章數(shù)組和廣義表主要介紹數(shù)組存儲結(jié)構(gòu)的特點和廣義表的存儲結(jié)構(gòu);第6章樹和二叉樹主要介紹樹和二叉樹的構(gòu)造、遍歷以及線索化方法;第7章圖主要介紹圖的實現(xiàn)方法以及典型算法;第8章介紹查找;第9章介紹排序,第10章介紹文件,最后一章是算法設(shè)計策略。第8、9、10章可以看成是數(shù)據(jù)結(jié)構(gòu)的基本應(yīng)用;最后一章可以看成是數(shù)據(jù)結(jié)構(gòu)的高級應(yīng)用或理論升華。
書籍目錄
前言第1章 緒論1.1 數(shù)據(jù)結(jié)構(gòu)的實踐意義1.2 數(shù)據(jù)結(jié)構(gòu)的理論意義1.3 數(shù)據(jù)結(jié)構(gòu)研究的內(nèi)容和關(guān)鍵問題習(xí)題第2章 線性表2.1 線性表的概念及抽象數(shù)據(jù)類型定義2.2 線性表的順序存儲2.3 線性表的鏈?zhǔn)酱鎯?.4 線性表的應(yīng)用——一元多項式的表示及相加2.5 順序表與鏈表的綜合比較習(xí)題第3章 棧和隊列3.1 棧3.2 隊列習(xí)題第4章 串4.1 串的定義與操作4.2 串的存儲結(jié)構(gòu)及操作4.3 串操作應(yīng)用舉例習(xí)題第5章 數(shù)組和廣義表5.1 數(shù)組的定義5.2 數(shù)組的順序表示和實現(xiàn)5.3 矩陣的壓縮存儲5.4 廣義表習(xí)題第6章 樹6.1 樹的定義、操作及基本術(shù)語6.2 二叉樹6.3 遍歷二叉樹和線索二叉樹6.4 樹和森林6.5 哈夫曼樹及其應(yīng)用習(xí)題第7章 圖7.1 圖定義和術(shù)語7.2 圖的存儲結(jié)構(gòu)7.3 圖的遍歷7.4 圖的連通性7.5 有向無環(huán)圖及其應(yīng)用7.6 最短路徑習(xí)題第8章 查找8.1 查找的基本概念8.2 靜態(tài)查找表8.3 動態(tài)查找表8.4 哈希表習(xí)題第9章 排序9.1 概述9.2 插入排序9.3 交換排序9.4 選擇排序9.5 歸并排序9.6 外部排序簡介習(xí)題第10章 文件10.1 基本概念10.2 順序文件10.3 索引文件10.4 ISAM文件和VSAM文件10.5 直接存取文件(散列文件)習(xí)題第11章 算法設(shè)計策略11.1 分而治之(DivideandConqureAlgorithm)11.2 貪心算法(GreedyAlgorithm)11.3 動態(tài)規(guī)劃算法(DynamicProgramming)11.4 狀態(tài)搜索策略(StateSearch)11.5 回溯算法(BacktrakingAlgorithm)11.6 隨機算法(RandomAlgorithm)11.7 算法設(shè)計中關(guān)鍵與技巧習(xí)題參考文獻
編輯推薦
《21世紀(jì)高等學(xué)校規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計》不僅可作為大專院校的教材,而且適用于自學(xué)者學(xué)習(xí)本書的,還可以作為研究生入學(xué)考試的參考資料。
圖書封面
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計 PDF格式下載