Data Structures and Algorithms in Java, 4/e (Paperback)

Adam Drozdek

買這商品的人也買了...

商品描述

Description Data structures serve as a foundation upon which many other computer science fields are built. Thus,some knowledge of data structures is a prerequisite for students who wish to work in the design, implementation, testing, or maintenance of virtually any software systems. The Java language, an object-oriented descendant of C and C++, has gained popularity in industry and academia as an excellent programming language due to widespread use of the Internet. Thus, the use of Java to teach a data and algorithms course is well justified. Key Features A section on treaps (6.10) NEW! A section on k-d tress (6.11) NEW! A section on k-d B-trees (7.1.5) NEW! A section on generational garbage collection (12.3.4) NEW! Emphasizes the connection between data structures and their algorithms, with an analysis of the algorithms complexity Presents data structures in the context of object-oriented program design Illustrates the complete context in which certain algorithms and data structures can be used through case studies Examines the efficiency of algorithms with theoretical analysis, with suggestions to improve them Simplifies the understanding of recursion by considering run-time stacks together with the algorithms TABLE OF CONTENTS Preface. About the Author. 1. Object-Oriented Programming Using Java. 2. Complexity Analysis. 3. Linked Lists. 4. Stacks and Queues. 5. Recursion. 6. Binary Trees. 7. Multiway Trees. 8. Graphs 9. Sorting. 10. Hashing. 11. Data Compression. 12. Memory Management. 13. String Matching. Appendix A Computing Big-O. Appendix B NP-Completeness. Name and Subject Indexes.

商品描述(中文翻譯)

描述:資料結構是許多其他計算機科學領域的基礎,因此對於希望在設計、實現、測試或維護任何軟體系統的學生來說,一些資料結構的知識是必要的。Java語言是C和C++的面向對象的後代,由於互聯網的廣泛使用,在工業界和學術界都廣受歡迎,被認為是一種優秀的編程語言。因此,使用Java來教授資料和算法課程是合理的。

主要特點:
- 新增了關於treaps(6.10)、k-d樹(6.11)、k-d B樹(7.1.5)和生成式垃圾回收(12.3.4)的章節
- 強調資料結構與其算法之間的聯繫,並分析算法的複雜度
- 在面向對象的程序設計上呈現資料結構的內容
- 通過案例研究展示某些算法和資料結構的完整上下文
- 通過理論分析檢視算法的效率,並提出改進建議
- 通過考慮運行時堆疊和算法來簡化對遞歸的理解

目錄:
前言。關於作者。1. 使用Java的面向對象編程。2. 複雜度分析。3. 鏈表。4. 堆疊和隊列。5. 遞歸。6. 二叉樹。7. 多路樹。8. 圖。9. 排序。10. 哈希。11. 數據壓縮。12. 內存管理。13. 字符串匹配。附錄A:計算大O。附錄B:NP完全性。名稱和主題索引。