出版時間:2010-7 出版社:清華大學出版社 作者:慕克吉 頁數:644 譯者:張長富
Tag標簽:無
前言
本書是一部介紹使用C語言表示數據結構的圖書。如果說,數據是我們開發(fā)的任何應用程序的血液,那么數據結構就像啟動和運送這些血液的內臟器官一樣。也就是說,數據結構是我們設計的任何應用程序的核心。正確地選擇數據結構能夠顯著地提高系統(tǒng)性能,本書以此為目標,全面介紹數據結構。 本書不僅介紹了數據結構的基本概念,而且也深入地闡述了諸如仙人掌堆棧以及DNA進化模擬這樣的新型數據結構。 全書由16章和兩個附錄組成,各部分的主要內容為:第1章討論數組,它首先介紹了數組的聲明方法和格式,之后說明了如何在應用程序山使用數組。第2章討論所有數據結構中都會作為基本構件塊使用的數據結構。第3章介紹各種類型的鏈表。鏈表是最基本的、基于指針的數據結構,也是其他不同類型數據結構的基本構件塊。第4章討論字符串處理。它涵蓋了不同的字符串處理函數,并通過一些示例程序說明這些函數在解決實際問題時的應用方法。第5章闡述遞歸,這是解決復雜現實問題的一種直觀、易于理解的方法,也是一種強有力的編稈技巧。本章從使用遞歸法求解斐波納契序列開始逐步展開,最后深入到說明如何使用遞歸求非線性方法的根。第6章討論堆棧。除了描述常見的彈棧、壓棧操作之外,本章也使用堆棧建立了MTF列表以及其他一些數據結構的模型。堆棧廣泛應用于分析器類型的應用程序中。第7章說明隊列數據結構。本章介紹了如何使用隊列模擬現實世界中的排隊現象,也說明了可以使用隊列構建MTF列表的模型。第8章討論樹。本章討論了不同類型的樹數據結構。樹是一種十分關鍵的數據結構,在解決眾多現實問題時都要用到這一數據結構。本章通過幾個實例展示了樹的表達和應用能力。第9章討論圖。圖或許是最復雜的數據結構,在幾乎所有科學和技術領域中都能見到它們的應用。為了增進讀者對圖的理解,本章實現了圖論的基本算法。第10章討論排序算法。本章首先介紹各種排序算法,之后實現這些算法,同時給出了它們的時間、空間復雜性分析,并進行了對比。最后給出了一張排序為其核心難題的問題。第11章討論散列。在給出了各種散列算法分類之后,本書提供了它們的完整實現。同時,也說明了在計算機安全軟件中如何使用散列算法。第12章討論抽象數據類型(ADT)。本章闡明了如何創(chuàng)建新的ADT、ADT可以有什么樣的不同類型的方法、如何區(qū)分這些方法等。第13章討論日期。說明如何創(chuàng)建處理日期的不同函數。第14章討論映射。映射本質上是一個由鍵值對兒組成的散列表。本章通過示例說明如何在電話本設計、字典和隨即加密機中使用映射。第15章討論貨幣數據結構。第16章討論文件處理。文件處理在很多現實應用程序中部十分重要。本章主要說明如何從文件中讀取數據和將數據寫入到文件中。附錄A給出了一些項目的概念,讀者可以實現一下它們,練習和提高自己的編程能力。附錄B給出了本書的參考文獻。
內容概要
數據結構是所有應用程序的核心,良好設計的數據結構可以極大地提供系統(tǒng)的性能,因此,數據結構是計算機及相關專業(yè)的基礎核心課程。為了更好地幫助讀者學習和掌握數據結構的知識,本書給出了1000多個問題及其解答。這些問題涉及到很多的學科領域,包括數值方法,應用統(tǒng)計,物理等。因此,本書不僅可以作為計算機,電子信息等專業(yè)學生學習數據結構的教學用書.對于其他專業(yè)學生也是很好的參考用書;因為本書介紹了各種數據結構的知識,教授讀者如何創(chuàng)建自己的數據結構,以滿足特定領域的需要。
作者簡介
作者:(印度)慕克吉(Sudipta Mukherjee) 譯者:張長富 等
書籍目錄
第1章 數組 1.0 引言 1.1 如何初始化數組 1.2 如何使用下標遍歷一維數組 1.3 如何操作數組元素 1.4 如何把指定范圍內的數據元素加起來 1.5 如何把數組中偶數位置和奇數位置的元素加起來 1.6 如何執(zhí)行包含外部變量的運算 1.7 如何找出函數值 1.8 如何求解人口統(tǒng)計學應用——一個人口統(tǒng)計的問題 1.9 在什么地方使用三維數組 1.10 如何刪除數組中的某個特定數據項 1.11 如何刪除特定位置的數據項 1.12 如何得到數組中的最大值 1.13 如何得到數組中的最小值 …… 第2章 結構 第3章 鏈表 第4章 字符串 第5章 遞歸 第6章 棧 第7章 隊列 第8章 樹 第9章 圖 第10章 排序 第11章 散列 第12章 ADT 第13章 日期 第14章 映射 第15章 貨幣 第16章 文件處理 附錄A 項目概念 附錄B 參考文獻
章節(jié)摘錄
插圖:10.36 什么是聚類聚類是一種依賴于特定參數的值分組一組元素的操作。例如,我們想找出學習數據結構的學生的數量是多少。這樣,要被分類的科目是參數,學習該科目的學生構成聚類。因此,聚類的寬松定義為:將對象組織成組、其成員在某種方式上相似的過程。排序是聚類的關鍵。假定我們有一組學生紀錄,我們要聚類它們。我們能夠編寫一個程序,它交互地找出所有不同科目的聚類,比如,數據結構學生的類、數值方法學生的類、學生、等等。10.37 商業(yè)集群商業(yè)上總存在某種利益相關者。如果商業(yè)過程進展順利,那么他們的利益相關者就能夠從中獲利。例如,旅游業(yè)越好,運輸業(yè)也越好,原因在于運輸是旅游的支撐業(yè)。一國的政府或許希望找出哪些行業(yè)能夠一起成長。商業(yè)集群是使用排序找出幾個能夠區(qū)分公司繁榮程度、說明其他業(yè)務隨之增長或有增長潛能的數值值(比如,股票價格)的一項技術。10.38 找出最短路徑這是最常用的示例之一,使用GPS幫助駕駛員尋找路線.例如,如果你要從一個旅館到同一城市的某個地方。
編輯推薦
《數據結構(C語言版):1000個問題與解答》:計算機科學本科核心課程教材
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載