1. Trang chủ
  2. » Khoa Học Tự Nhiên

Data structures and algorithms in java peter drake

993 196 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 993
Dung lượng 8,52 MB

Nội dung

Table of • Contents • Index Data Structures and Algorithms in Java By Peter Drake Publisher : Prentice Hall Pub Date : December 19, 2005 Print ISBN-10 : 0-13-146914-2 Print ISBN-13 : 978-0-13-146914-3 eText ISBN-10 : 0-13-174690-1 eText ISBN-13 : 978-0-13-174690-9 Pages : 592 An abundance of unique, interesting examples, use of the Unified Modeling Language throughout, and the newest Java 1.5 features characterize this text Drake provides a concise and engaging introduction to Java and object-oriented programming, assuming familiarity with the basic control structures of Java or C and only a pre-calculus level of mathematics Data Structures and Algorithms in Java By Peter Drake Publisher : Prentice Hall Pub Date : December 19, 2005 Print ISBN-10 : 0-13-146914-2 Print ISBN-13 : 978-0-13-146914-3 Table of eText ISBN-10 : 0-13-174690-1 • Contents eText ISBN-13 : 978-0-13-174690-9 • Index Pages : 592 Copyright Preface Intended Audience Part I: Object-Oriented Programming Chapter 1 Encapsulation Section 1.1 Software Development Section 1.2 Classes and Objects Section 1.3 Using Objects Summary Vocabulary Problems Projects Chapter 2 Polymorphism Section 2.1 Reference Types Section 2.2 Arrays Section 2.3 Interfaces Section 2.4 Overloading Summary Vocabulary Problems Projects Chapter 3 Inheritance xi xi 3 18 32 32 34 35 37 37 44 55 59 61 61 62 62 67 Section 3.1 Extending a Class Section 3.2 The Object Class Section 3.3 Packages and Access Levels Summary Vocabulary Problems Projects Part II: Linear Structures Chapter 4 Stacks and Queues Section 4.1 The Stack Interface Section 4.2 The Call Stack Section 4.3 Exceptions Section 4.4 The Queue Interface Summary Vocabulary Problems Projects Chapter 5 Array-Based Structures Section 5.1 Shrinking and Stretching Arrays Section 5.2 Implementing Stacks and Queues Section 5.3 The List Interface Section 5.4 Iterators Section 5.5 The Java Collections Framework: A First Look Summary Vocabulary Problems Projects Chapter 6 Linked Structures Section 6.1 List Nodes Section 6.2 Stacks and Queues Section 6.3 The LinkedList Class Section 6.4 The Java Collections Framework Revisited Summary Vocabulary Problems Projects Part III: Algorithms Chapter 7 Analysis of Algorithms 67 77 79 82 83 84 84 85 87 87 97 100 108 114 114 115 116 119 119 127 133 139 151 153 154 154 155 157 157 161 168 176 178 178 179 179 181 183 Section 7.1 Timing 183 Section 7.2 Asymptotic Notation 186 Section 7.3 Counting Steps Section 7.4 Best, Worst, and Average Case Section 7.5 Amortized Analysis Summary Vocabulary Problems Projects Chapter 8 Searching and Sorting Section 8.1 Linear Search Section 8.2 Binary Search Section 8.3 Insertion Sort Section 8.4 The Comparable Interface Section 8.5 Sorting Linked Lists Summary Vocabulary Problems Projects Chapter 9 Recursion Section 9.1 Thinking Recursively Section 9.2 Analyzing Recursive Algorithms Section 9.3 Merge Sort Section 9.4 Quicksort Section 9.5 Avoiding Recursion Summary Vocabulary Problems Projects Part IV: Trees and Sets Chapter 10 Trees Section 10.1 Binary Trees Section 10.2 Tree Traversal Section 10.3 General Trees Summary Vocabulary Problems Projects 192 197 199 202 202 203 203 205 206 207 211 214 218 219 221 221 221 223 223 231 235 239 244 248 249 250 251 253 255 255 265 270 280 280 281 282 Chapter 11 Sets Section 11.1 The Set Interface Section 11.2 Ordered Lists 283 283 291 Section 11.3 Binary Search Trees 296 Section 11.4 Hash Tables 305 Section 11.5 The Java Collections Framework Again 316 Summary 318 Vocabulary 319 Problems 320 Projects 321 Part V: Advanced Topics 323 Chapter 12 Advanced Linear Structures 325 Section 12.1 Bit Vectors 325 Section 12.2 Sparse Arrays 335 Section 12.3 Contiguous Representation of Multidimensional Arrays 337 Section 12.4 Advanced Searching and Sorting 343 Summary 347 Vocabulary 348 Problems 348 Projects 349 Chapter 13 Strings 351 Section 13.1 Strings and StringBuilders 351 Section 13.2 String Matching 355 Summary 366 Vocabulary 367 Problems 367 Projects 368 Chapter 14 Advanced Trees 369 Section 14.1 Heaps 369 Section 14.2 Disjoint Set Clusters 377 Section 14.3 Digital Search Trees 383 Section 14.4 Red-Black Trees 389 Summary 404 Vocabulary 405 Problems 406 Projects 406 Chapter 15 Graphs 407 Section 15.1 Terminology 408 Section 15.2 Representation 413 Section 15.3 Graph Traversal 419 Section 15.4 Topological Sorting Section 15.5 Shortest Paths 422 427 Section 15.6 Minimum Spanning Trees Summary Vocabulary Problems Projects Chapter 16 Memory Management Section 16.1 Explicit Memory Management Section 16.2 Automatic Memory Management Summary Vocabulary Problems Projects Chapter 17 Out to the Disk Section 17.1 Interacting with Files Section 17.2 Compression Section 17.3 External Sorting Section 17.4 B-Trees Summary Vocabulary Problems Projects Part VI: Appendices Appendix A Review of Java Section A.1 The First Program Section A.2 Variables and Types Section A.3 Loops Section A.4 Interacting with the User Section A.5 Branching Section A.6 Methods and Breaking Out Section A.7 Constants Section A.8 Operators Section A.9 Debugging Section A.10 Coding Conventions 432 437 437 439 439 443 443 454 463 464 465 465 467 467 477 488 494 514 514 515 515 517 519 519 521 524 526 527 529 531 533 537 538 Appendix B Unified Modeling Language 543 Section B.1 Class Diagrams 543 Section B.2 Instance Diagrams Appendix C Summation Formulae Section C.1 Sum Notation Section C.2 Sum of Constants 547 551 551 552 Section C.3 Sum of First n Integers Section C.4 Sums of Halves and Doubles Section C.5 Upper Limit on Sum of a Function Section C.6 Constant Factors Appendix D Further Reading Section D.1 Data Structures and Algorithms Section D.2 Java Section D.3 Games Index 553 554 554 555 557 557 557 558 Copyright [Page iv] Library of Congress Cataloging-in-Publication Data Drake, Peter Data structures and algorithms in Java / Peter Drake p cm Includes bibliographical references and index ISBN 0-13-146914-2 Java (Computer program language) 2 Data structures (Computer s Computer algorithms I Title QA76.73.J38D693 2005 005.13'3 dc22 2005050807 Vice President and Editorial Director, ECS: Marcia J Horton Senior Acquisitions Editor: Tracy Dunkelberger Assistant Editor: Carole Snyder Editorial Assistant: Christianna Lee Executive Managing Editor: Vince O'Brien Managing Editor: Camille Trentacoste Production Editor: Donna Crilly Director of Creative Services: Paul Belfanti Art Director and Cover Manager: Jayne Conte Cover Designer: Bruce Kenselaar Managing Editor, AV Management and Production: Patricia Burns Art Editor: Gregory Dulles Manager, Cover Visual Research and Permissions: Karen Sanatar Manufacturing Manager, ESM: Alexis Heydt-Long Manufacturing Buyer: Lisa McDowell Executive Marketing Manager: Robin O'Brien Marketing Assistant: Barrie Reinhold Cover Image: Russel Illig / Photodisc / Getty Images, Inc © 2006, Pearson Education, Inc Pearson Prentice Hall Pearson Education, Inc Upper Saddle River, New Jersey 07458 All rights reserved No part of this book may be reproduced in any form or by any means, without permission in writing from the publisher Pearson Prentice Hall® is a trademark of Pearson Education, Inc The author and publisher of this book have used their best efforts in preparing this book These efforts include the development, research, and testing of the theories and programs to determine their effectiveness The author and publisher make no warranty of any kind, expressed or implied, with regard to these programs or the documentation contained in this book The author and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs Printed in the United States of America 10 9 8 7 6 5 4 3 2 1 Pearson Education Ltd., London Pearson Education Australia Pty Ltd., Sydney Pearson Education Singapore, Pte Ltd Pearson Education North Asia Ltd., Hong Kong Pearson Education Canada, Inc., Toronto Pearson Educación de Mexico, S.A de C.V Pearson EducationJapan, Tokyo Pearson Education Malaysia, Pte Ltd Pearson Education, Inc., Upper Saddle River, New Jersey ... Section D.2 Java Section D.3 Games Index 553 554 554 555 557 557 557 558 Copyright [Page iv] Library of Congress Cataloging -in- Publication Data Drake, Peter Data structures and algorithms in Java / Peter Drake. .. antiseptic tasks such as finding a greatest common divisor Near the midpoint of the text, games involving a dictionary of tens of thousands of words provide compelling motivation for efficient data structures and algorithms. .. Data Structures and Algorithms in Java By Peter Drake Publisher : Prentice Hall Pub Date : December 19, 2005 Print ISBN-10 : 0-13-146914-2 Print ISBN-13 : 978-0-13-146914-3

Ngày đăng: 25/03/2019, 16:40

TỪ KHÓA LIÊN QUAN