出版時(shí)間:2008-1 出版社:機(jī)械工業(yè) 作者:SeshVenugopal 頁(yè)數(shù):491
Tag標(biāo)簽:無
內(nèi)容概要
本書用一種更加容易理解的“從外向里”的方式講授數(shù)據(jù)結(jié)構(gòu),首先通過接口和行為來理解對(duì)象,然后再介紹其實(shí)現(xiàn)細(xì)節(jié)。也就是說,首先講述如何把數(shù)據(jù)結(jié)構(gòu)應(yīng)用于解決問題,隨后引出數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)方法(也就是如何構(gòu)建數(shù)據(jù)結(jié)構(gòu)),簡(jiǎn)單來說,就是在講述如何構(gòu)建一個(gè)對(duì)象之前先研究它做什么。這種講述方式有非常明顯的優(yōu)勢(shì):首先,有利于讀者更快地把他們所學(xué)的知識(shí)運(yùn)用于實(shí)際的應(yīng)用開發(fā)中;其次,幫助讀者理解并運(yùn)用封裝、接口與實(shí)現(xiàn)的分離以及代碼復(fù)用等重要的面向?qū)ο笤O(shè)計(jì)原則。 本書采用“從外向里”(從價(jià)格標(biāo)簽接口到實(shí)現(xiàn))的方式,給出獨(dú)特的學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的途徑: 1)通過講述數(shù)據(jù)結(jié)構(gòu)的性質(zhì)及其實(shí)際應(yīng)用來引入一個(gè)數(shù)據(jù)結(jié)構(gòu)?! ?)通過給出實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)的Java類的公有接口來形式化這個(gè)數(shù)據(jù)結(jié)構(gòu)的特征性質(zhì)?! ?)通過使用在第2步中所給出的Java類的接口編寫。Java應(yīng)用程序來進(jìn)一步說明數(shù)據(jù)結(jié)構(gòu)的用途?! ?)設(shè)計(jì)并實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu),即開發(fā)在第2步中所給出接口的Java類的代碼,分析操作的運(yùn)行時(shí)間并對(duì)照價(jià)格標(biāo)簽(價(jià)格標(biāo)簽是指接口操作的運(yùn)行時(shí)間)驗(yàn)證這些運(yùn)行時(shí)間。
作者簡(jiǎn)介
Sesh Venugopal擁有拉特格大學(xué)博士學(xué)位,現(xiàn)為拉特格大學(xué)計(jì)算機(jī)科學(xué)系教授和本科生指導(dǎo)主管。他還經(jīng)營(yíng)自己的IT和教育咨詢公司。
書籍目錄
PrefaceList of Class Files1 Object-Oriented Programming in Java 1.1 Objects and Encapsulation 1.1.1 Objects 1.1.2 Lifetime, State, and Messages 1.1.3 Clients of an Object 1.1.4 Separation of Interface from Implementation 1.2 Classes 1.2.1 State and Behavior 1.2.2 Method Overloading 1.2.3 Object Creation, Constructors, Garbage Collection 1.2.4 Method Invocation 1.2.5 Static Fields and Methods 1.2.6 Object References 1.3 Inheritance 1.3.1 Superclass and Subclass 1.3.2 Inherited and Specialized Fields 1.3.3 Constructors 1.3.4 Object Creation 1.3.5 Inherited and Specialized Methods 1.3.6 Method Overriding 1.4 The Object Class 1.4.1 The equals Method 1.4.2 The toString Method 1.4.3 The clone Method 1.5 Exceptions 1.5.1 Interpreting an Exception Message 1.5.2 Homegrown Error Handling 1.5.3 Throwing an Exception 1.5.4 Catching an Exception 1.5.5 Exception Class 1.6 Input and Output 1.6.1 Terminal-Driven IO 1.6.2 File-Based IO 1.6.3 String Tokenizing 1.6.4 Writing an Exception Class 1.7 Class Packages 1.7.1 Java Packages 1.7.2 Organizing Packages 1.7.3 Name Conflict Resolution 1.8 Access Control 1.8.1 Private Access 1.8.2 Package Access 1.8.3 Protected Access 1.8.4 Public Access 1.8.5 An Example 1.9 Polymorphism 1.9.1 Polymorphic Reference 1.9.2 Casting up the Class Hierarchy 1.9.3 Casting Down the Class Hierarchy 1.9.4 The instanceof Operator 1.10 Abstract Classes 1.10.1 Abstract Class Shape 1.10.2 Abstract Class Properties 1.11 A Game Park Example 1.12 Interfaces : 1.12.1 The Java interface Construct 1.12.2 Implementing an Interface 1.12.3 Interface as a Type 1.12.4 The Need for Interfaces 1.12.5 Extending Interfaces 1.13 Generics 1.13.1 Using java. uti 1 .ArrayLi st for Collections 1.13.2 The java. uti I. Ar rayLi st Public Interface 1.13.3 Implementing a Generic Class 1.13.4 Implementing a Generic Interface 1.13.5 Static Template Methods 1.14 Summary 1.15 Exercises 1.16 Programming Problems2 The Big Picture 2.1 What Are Data Structures? 2.2 What Data Structures Do We Study? 2.3 What Are Abstract Data Types? 2.4 Why OOP and Java for Data Structures? 2.5 How Do I choose the Right Data Structures?3 Efficiency of Algorithms 3.1 Polynomial Arithmetic: A Running Example 3.2 Basic Operations 3.3 Input Size 3.4 Asymptotic Growth of Functions 3.5 Order and Big Oh……4 Unordered List5 Ordered List6 Queue7 Stack8 Recursion9 Binary Tree and General Tree10 Binary Search Tree and AVL Tree11 Heap12 Hash Table13 Sorting14 Graphs I:Algorithms15 Graphys II: ImplementationIndex
編輯推薦
《經(jīng)典原版書庫(kù)·數(shù)據(jù)結(jié)構(gòu)從應(yīng)用到實(shí)現(xiàn)(Java版)(英文版)》概念清楚,邏輯性強(qiáng),內(nèi)容新穎,可作為高等院校計(jì)算機(jī)軟件專業(yè)與計(jì)算機(jī)應(yīng)用專業(yè)學(xué)生的雙語教材和參考用書,也可供計(jì)算機(jī)工程技術(shù)人員參考。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載