內容簡介數(shù)據(jù)結構與算法息息相關,本書以淺顯易懂的文字與各種運用方式來說明各個主題,并對問題的解決方法與流程做詳盡的圖形剖析,輔以算法與程序代碼的實例,從而增進讀者對問題與結構的理解。全書共分13章,各章的主題分別為數(shù)據(jù)結構概論、數(shù)組、算法、數(shù)組結構的算法應用、查找算法、排序算法、堆棧、隊列、鏈表、遞歸、樹、圖、散列。本書非常適合剛學習數(shù)據(jù)結構課程的學生研讀,從書中的內容與順序的編排來看本書也非常適合大專院校作為教材。在信息科學的領域中,數(shù)據(jù)結構是一門基礎學科,有關人工智能、圖像處理、語音識別、并行處理等相關應用的研究,都需要這門學科的輔助;算法是解決問題的方法,要解決問題,只使用數(shù)據(jù)結構這個工具還稍嫌不足,還需要學習不同的算法,進而在未來的學習道路上,才能不斷思考、不斷地進步。數(shù)據(jù)結構與算法息息相關。本書以淺顯易懂的文字與各種運用方式來說明各個主題,并對問題的解決方法與流程作詳盡的圖形剖析,輔以算法與程序代碼的實例來,從而增進讀者對問題與結構的理解。全書共分13章,各章的主要內容分述如下:第1章"數(shù)據(jù)結構概論",介紹數(shù)據(jù)與結構、數(shù)據(jù)結構與算法等概念。第2章"數(shù)組",介紹數(shù)組的概念、數(shù)組類別和計量、數(shù)組的遍歷和矩陣運算等。第3章"算法",介紹算法的概念、算法的效率分析及漸進式表示等。第4章"數(shù)組結構的算法應用",介紹數(shù)組在多項式的運算、捉大頭抽簽游戲、魔術方塊算法中的應用,對獎算法與數(shù)據(jù)結構等。第5章"查找算法",介紹查找算法概述、線性查找法、二分查找法、插補查找法等。第6章"排序算法",介紹排序算法概述、冒泡排序法、交換排序法、選擇排序法、插入排序法、謝爾排序法、基數(shù)排序法、快速排序法、歸并排序法等。第7章"堆棧",介紹堆棧概述、堆棧的數(shù)據(jù)結構和操作、表達式的應用、后綴表達式求值和轉換機器碼。第8章"隊列",介紹隊列概述、隊列的數(shù)據(jù)結構和操作、循環(huán)隊列、雙向隊列和特殊隊列。第9章"鏈表",介紹鏈表概述、以數(shù)組表示單鏈表和雙向鏈表、以指針和結構表示鏈表、鏈表在其他結構中的應用等。第10章"遞歸",介紹遞歸關系以及遞歸算法在幾種數(shù)學問題、漢諾塔問題、迷宮問題中的應用等。第11章"樹",介紹樹型結構和特性、二叉樹的概念、二叉樹的數(shù)據(jù)結構、二叉樹的遍歷、二叉運算樹、堆、二叉查找樹等。第12章"圖",介紹圖型結構的概念、圖的數(shù)據(jù)結構、圖的遍歷、生成樹和最小成本生成樹、最短路徑、拓撲排序等。第13章"散列",介紹散列概述、散列應用與散列函數(shù)、溢出處理、散列查找法等。本書的章節(jié)安排由淺入深,目的是培養(yǎng)讀者對數(shù)據(jù)結構與算法的高度興趣,從最基本的數(shù)組結構的使用及其在各種問題上的應用開始談起:再來介紹算法的分析方法及簡單的練習;再進到最常用的搜索算法與排序算法,此為第一階段,主要使讀者與程序設計課程建立聯(lián)系,讀者只要會基本的程序基礎,就可利用程序語言編寫各種實用的程序。第二階段介紹利用數(shù)組結構擴展到堆棧結構、隊列結構、鏈表結構等,增強讀者對線性問題的解決能力。第三階段介紹遞歸關系、樹型結構和圖型結構等較深問題的處理方法,增強讀者對空間類問題的解決能力。本書具有如下特色:●每個章節(jié)的主題、結構與算法都有詳細的圖解說明;●每個算法都有實際對應的范例程序代碼;●每個程序都有實際運行結果;●公式或運算式有推導過程,詳細說明;●書中的程序代碼以C語言為主,可以在各種版本的C語言開發(fā)環(huán)境中編譯執(zhí)行,如TurboC、VisualC++、BorlandC++Builder等;●學習評估及范例、練習等除了作者自己編的題材外,另外參考了多種數(shù)據(jù)結構與算法的典型考題:●書中結構層次分明,適合學校教師采用為教材;●本書注重訓練思考的方法,解決問題的步驟,適合訓練程序設計人員的程序設計能力。期望閱讀本書的讀者,除子能理解數(shù)據(jù)結構與算法領域的知識與技能之外,更能從本書的解題思路中得到靈感,可舉一反三,將此學科的知識與技能應用在其他信息科技領域中。