數(shù)據(jù)結(jié)構(gòu)

出版時間:2004-6  出版社:清華大學(xué)出版社  作者:李維斯  頁數(shù):462  字?jǐn)?shù):711000  譯者:李維斯  
Tag標(biāo)簽:無  

內(nèi)容概要

本書是數(shù)據(jù)結(jié)構(gòu)課程的優(yōu)秀教材。主要講述如何在正確的軟件工程原則指導(dǎo)下,用精心定義的數(shù)據(jù)結(jié)構(gòu)和算法實現(xiàn)高質(zhì)量的程序。為使讀者能更好的理解本書,各章在內(nèi)容安排上從易到難,對于每章所涉及的數(shù)據(jù)結(jié)構(gòu),都先介紹其概念,然后舉例說明其用途,再討論如何用Java編程語言實現(xiàn),最后對各種實現(xiàn)的效率進(jìn)行分析,對比。

作者簡介

John Lewis任教于Villanova大學(xué)。他的研究領(lǐng)域包括軟件工程、網(wǎng)絡(luò)程序設(shè)計等。他還是ACM和IEEE的成員,在計算機(jī)教學(xué)領(lǐng)域成果頗豐。
Joseph Chase任教于Radford大學(xué),他的研究領(lǐng)域包括人機(jī)交互、軟件工程。他也是ACM和IEEE的成員。

書籍目錄

第1章 軟件工程 1.1 軟件開發(fā) 1.2 軟件質(zhì)量 1.3 軟件開發(fā)生命期模型 1.4 統(tǒng)一建模語言 1.5 錯誤的處理 1.6 算法的分析 1.7 軟件工程和數(shù)據(jù)結(jié)構(gòu)第2章 集合 2.1 本章簡介 2.2 袋集合 2.3 使用袋的例子:bingo 2.4 袋的數(shù)組實現(xiàn) 2.5 分析袋的數(shù)組實現(xiàn) 第3章 鏈?zhǔn)浇Y(jié)構(gòu) 3.1 鏈?zhǔn)揭?3.2 管理鏈表 3.3 無鏈接的元素 3.4 袋的鏈?zhǔn)綄崿F(xiàn) 3.5 分析袋的鏈?zhǔn)綄崿F(xiàn) 第4章 遞歸 4.1 遞歸思想 4.2 遞歸編程 4.3 使用遞歸 4.4 分析遞歸算法 第5章 查找與排序 5.1 查找 5.2 排序 第6章 堆棧 6.1 堆棧ADT 6.2 使用堆棧:計算后綴表達(dá)式 6.3 使用堆棧:模擬遞歸 6.4 堆棧的鏈?zhǔn)綄崿F(xiàn) 6.5 堆棧的數(shù)組實現(xiàn) 6.6 實現(xiàn)堆棧:java.util.Stack類 6.7 分析堆棧的實現(xiàn) 第7章 隊列 7.1 隊列ADT 7.2 使用隊列:代碼鍵 7.3 使用隊列:模擬售票器 7.4 使用隊列:基數(shù)排序法 7.5 隊列的鏈?zhǔn)綄崿F(xiàn) 7.6 隊列的數(shù)組實現(xiàn) 7.7 使用循環(huán)數(shù)組來實現(xiàn)隊列 7.8 隊列實現(xiàn)的分析 第8章 鏈表 8.1 鏈表ADT 8.2 使用有序鏈表:制訂賽程 8.3 使用索引鏈表:Josephus問題 8.4 鏈表的數(shù)組實現(xiàn) 8.5 鏈表的鏈?zhǔn)綄崿F(xiàn) 8.6 分析鏈表的實現(xiàn) 第9章 樹 9.1 樹 9.2 樹的實現(xiàn)策略 9.3 樹的遍歷 9.4 實現(xiàn)二叉樹 9.5 使用二叉樹:表達(dá)式樹 第10章 二叉查找樹 10.1 二叉查找樹 10.2 二叉查找樹的鏈?zhǔn)綄崿F(xiàn) 10.3 使用二叉查找樹實現(xiàn)有序鏈表 10.4 平衡二叉查找樹 10.5 實現(xiàn)二叉查找樹:AVL樹 10.6 實現(xiàn)二叉查找樹:紅黑樹 10.7 實現(xiàn)二叉查找樹:Java集合API 第11章 堆 11.1 堆 11.2 使用堆:堆排序 11.3 使用堆:優(yōu)先隊列 11.4 堆的鏈?zhǔn)綄崿F(xiàn) 11.5 堆的數(shù)組實現(xiàn) 11.6 分析堆的實現(xiàn) 第12章 多叉查找樹 12.1 合并樹的概念 12.2 2-3樹 12.3 2-4樹 12.4 B-樹 12.5 B-樹的實現(xiàn)策略 第13章 散列 13.1 散列 13.2 散列函數(shù) 13.3 解決沖突 13.4 刪除哈希表中的元素 13.5 Java集合API中的哈希表 第14章 圖 14.1 無向圖 14.2 有向圖 14.3 網(wǎng)絡(luò) 14.4 圖的通用算法 14.5 圖的實現(xiàn)策略 附錄A Java面向?qū)ο蟾拍?A.1 面向?qū)ο蠛喗?A.2 使用對象 A.3 類庫和包 A.4 對象的狀態(tài)和行為 A.5 類 A.6 封裝 A.7 構(gòu)造函數(shù) A.8 方法重載 A.9 再談引用 A.10 static修飾符 A.11 包裝類 A.12 接口 A.13 繼承 A.14 類層次體系 A.15 多態(tài) A.16 異常 附錄B Java類庫 AbstractButton(javax.swing) ActionEvent(java.awt.event) AdjustmentEvent(java.awt.event) Applet(java.applet) ArrayList(java.util) AWTEvent(java.awt) BigDecimal(java.math) BigInteger(java.math) BitSet(java.util) Boolean(java.lang) BorderFactory(javax.swing) BorderLayout(java.awt) Box(java.swing) BoxLayout(java.swing) BufferedReader(java.io) BufferedWriter(java.io) ButtonGroup(java.swing) Byte(java.lang) Calendar(java.util) CardLayout(java.awt) Character(java.lang) Class(java.lang) Color(java.awt) Component(java.awt) ComponentAdapter(java.awt.event) ComponentEvent(java.awt.event) Container(java.awt) ContainerAdapter(java.awt.evnet) ContainerEvent(java.awt.enent) Cursor(java.awt) Date(java.util) DateFormat(java.text) DateFormatSymbols(java.text) DecimalFormat(java.text) DecimalFormatSymbols(java.text) Dimension(java.awt) Double(java.lang) Error(java.lang) Event(java.awt) Exception(java.lang) Float(java.lang) FlowLayout(java.awt) FocusAdapter(java.awt.event) FocusEvent(java.awt.event) Font(java.awt) FontMetrics(java.awt) Format(java.text) Graphics(java.awt) GregorianCalendar(java.util) GridBagConstraints(java.awt) GridBagLayout(java.awt) GridLayout(java.awt) Hashtable(java.tuil) Image(java.awt) ImageIcon(java.swing) InputEvent(java.awt.event) InputStream(java.io) InputStreamReader(java.io) Insets(java.awt) Integer(java.lang) ItemEvent(java.awt.event) JApplet(javax.swing) JButton(javax.swing) JCheckBox(javax.swing) JCheckBoxMenuItem(javax.swing) JColorChooser(javax.swing) JComboBox(javax.swing) JComponet(javax.swing) JFileChooser(javax.swing) JFrame(javax.swing) JLabel(javax.swing) JList(javax.swing) JOptionPane(javax.swing) JPanel(javax.swing) PasswordField(javax.swing) JRadioButton(javax.swing) JScrollPane(javax.swing) JSlider(javax.swing) JTabbedPane(javax.swing) JTextArea(javax.swing) JTextField(javax.swing) JToggleButton(javax.swing) JToolTip(javax.swing) KeyAdapter(java.awt.event) KeyEvent(java.awt.event) Locale(java.util) Long(java.lang) Math(java.lang) MessageFormat(java.text) MouseAdapter(java.awt.event) MouseEvent(java.awt.event) MouseMotionAdapter(java.awt.event) Number(java.lang) NumberFormat(java.text) Object(java.lang) ParsePosition(java.text) Point(java.awt) Polygon(java.awt) PrintStream(java.io) Random(java.util) Rectangle(java.awt) Short(java.lang) SimpleDateFormat(java.text) SimpleTimeZone(java.util) Stack(java.util) String(java.lang) StringBuffer(java.lang) StringTokenizer(java.util) System(java.lang) SystemColor(java.awt) Thread(java.lang) Throwable(java.lang) Timer(javax.swing) TimeZone(java.util) URL(java.net) Vector(java.util) Void(java.lang) Window(java.awt) WindowAdapter(java.awt.event) WindowEvent(java.awt.event)

媒體關(guān)注與評論

  隨著Java語言的普及,已經(jīng)有越來越多的程序開發(fā)人員喜歡上這種簡單易懂的面向?qū)ο笳Z言。與此同時,隨著學(xué)習(xí)和應(yīng)用的深入,數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計的重要性愈發(fā)顯現(xiàn)出來。對于以前接觸過C或C++的程序員而言,使用C或C++開發(fā)諸如隊列、堆棧、鏈表和樹等數(shù)據(jù)結(jié)構(gòu)并非難事。遺憾的是,現(xiàn)在介紹Java數(shù)據(jù)結(jié)構(gòu)和算法的好書卻較少,使大家在進(jìn)一步學(xué)習(xí)、使用Java的過程中遇到了一些困難。本書正是為此目的而撰寫的。作者使用淺顯易懂的語句來闡述一個個常見的數(shù)據(jù)結(jié)構(gòu),并配以大量的例子和代碼來幫助大家理解如何使用Java實現(xiàn)這些數(shù)據(jù)結(jié)構(gòu)。此外,本書還從軟件工程的高度來分析、比較各種數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)效率,指出各種算法的優(yōu)缺點。特別值得一提的是,每章都提供了大量的習(xí)題供讀者復(fù)習(xí)時使用。附錄A簡要地闡述了Java面向?qū)ο蟾拍?,以幫助大家能更好地學(xué)習(xí)本書的內(nèi)容;而附錄B提供了Java類庫中許多常用類的參考資料,使大家能夠更容易地開發(fā)出自己的Java程序?! ∵@確是一本介紹Java數(shù)據(jù)結(jié)構(gòu)的好書。為使讀者能更好地閱讀本書,各章在內(nèi)容的安排上不僅從易到難,而且在組織形式上力求保持一致:對于每章所涉及的數(shù)據(jù)結(jié)構(gòu),都先介紹它們的概念,接著舉例說明它們的用途,然后討論如何實現(xiàn)它們,最后分析比較各種實現(xiàn)的效率。為方便讀者的學(xué)習(xí),書中所有例子的源代碼都可下載( www.aw.com/cssupport)?! ∪珪姆g出版是集體工作的結(jié)晶。柳賜佳、周莎莎、施曉東、施惠瓊、蔡桂凌、施琳瓊、陳華、柳晁錦、柳晁惠、施卓成、張瓊雯、張庭輝、方杰等負(fù)責(zé)全書的翻譯工作,柳小艷、孔頌燕、梁錦倫等負(fù)責(zé)全書的審校工作,施金庭、柳聿蔭、施群肖和繆彩珠等負(fù)責(zé)全書的錄入和排版工作。全書最后由施平安負(fù)責(zé)統(tǒng)稿?! ≡诜g過程中,我們對書中出現(xiàn)的所有術(shù)語和難詞難句都進(jìn)行了仔細(xì)的推敲和研究,然而有些問題在譯者本人的研究領(lǐng)域中也不曾遇到過,疏漏和爭議之處在所難免,望廣大讀者提出寶貴的意見。  譯者  2004年2月10日  		  		  		  		  

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    數(shù)據(jù)結(jié)構(gòu) PDF格式下載


用戶評論 (總計3條)

 
 

  •   我很喜歡的書,比C的數(shù)據(jù)結(jié)構(gòu)要強(qiáng)。因為Java提供的很多的類庫作為支持,因此平時根本不去想隊列啊,樹啊什么的如何實現(xiàn)。但是這本書從數(shù)據(jù)結(jié)構(gòu)的角度給予了java的實現(xiàn),讓我耳目一新,很喜歡。不過還沒看完。。。悲劇,呵呵
  •   我沒有一點數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ),看得很吃力看不怎么懂現(xiàn)在沒有怎么看了。
  •   本書占了很大部分是附錄,百來頁是介紹API的附錄。介紹數(shù)據(jù)結(jié)構(gòu)的內(nèi)容相對就少了,郁悶。。。JAVA的數(shù)據(jù)結(jié)構(gòu)也沒有像C,C++這么低層,用了一些API中已經(jīng)寫了的東西,看了兩三章覺得還比較簡單,希望后面的內(nèi)容能讓我有大收獲。。。
 

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

京ICP備13047387號-7