PDF Data Structures & Using Java ate.edu

[Pages:1022] Data Structures & Problem Solving Using Java

fourth edition

This page intentionally left blank

Data Structures & Problem Solving Using Java

fourth edition

mark allen weiss

florida international university

Editor-in-Chief Editorial Assistant

Managing Editor Senior Production Supervisor

Marketing Manager Marketing Coordinator

Media Producer Senior Manufacturing Buyer

Project Coordination Composition and Illustration

Cover Designer Cover Image

Michael Hirsch Stephanie Sellinger Jeffrey Holcomb Marilyn Lloyd Erin Davis Kathryn Ferranti Katelyn Boller Carol Melville Rebecca Lazure/Laserwords Maine Laserwords Private Ltd. Elena Sidorova/Suzanne Heiser of Night & Day Design ? Whole artichoke: iStockphoto; Inside slice: Sabine Scheckel/Getty Images

Access the latest information about Addison-Wesley Computer Science titles from our World Wide Web site:

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and Addison-Wesley was aware of a trademark claim, the designations have been printed in initial caps or all caps.

The programs and applications presented in this book have been included for their instructional value. They have been tested with care but are not guaranteed for any particular purpose. The publisher does not offer any warranty or representation, nor does it accept any liabilities with respect to the programs or applications.

The interior of this book was composed in FrameMaker. The basal text font is set in Times; the chapter titles, headings, running heads, and folios are all set in Akzidenz-Grotesk_BE; the programming code is set in Lucida Sans Typewriter.

Library of Congress Cataloging-in-Publication Data

Weiss, Mark Allen. Data structures & problem solving using Java / Mark Allen Weiss.-- 4th

ed. p. cm.

ISBN-13: 978-0-321-54140-6 ISBN-10: 0-321-54140-5 1. Java (Computer program language) 2. Data structures (Computer science) 3. Problem solving--Data processing. I. Title. QA76.73.J38W45 2010 005.13'3--dc22

2009032662

Copyright ? 2010 Pearson Education, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America.

For information on obtaining permission for use of material in this work, please submit a written request to Pearson Education, Inc., Rights and Contracts Department, 501 Boylston Street, Suite 900, Boston, MA 02116, fax your request to 617-671-3447, or e-mail at legal/permissions.htm.

ISBN-13: 9780321541406 ISBN-10: 0321541405 1 2 3 4 5 6 7 8 9 10CRS12 11 10 09

To David and David.

This page intentionally left blank

preface

Tp r e f a c e his book is designed for a two-semester sequence in computer science, beginning with what is typically known as Data Structures and continuing with advanced data structures and algorithm analysis. It is appropriate for the courses from both the two-course and three-course sequences in "B.1 Introductory Tracks," as outlined in the final report of the Computing Curricula 2001 project (CC2001)--a joint undertaking of the ACM and the IEEE.

The content of the Data Structures course has been evolving for some time. Although there is some general consensus concerning topic coverage, considerable disagreement still exists over the details. One uniformly accepted topic is principles of software development, most notably the concepts of encapsulation and information hiding. Algorithmically, all Data Structures courses tend to include an introduction to running-time analysis, recursion, basic sorting algorithms, and elementary data structures. Many universities offer an advanced course that covers topics in data structures, algorithms, and running-time analysis at a higher level. The material in this text has been designed for use in both levels of courses, thus eliminating the need to purchase a second textbook.

Although the most passionate debates in Data Structures revolve around the choice of a programming language, other fundamental choices need to be made:

n Whether to introduce object-oriented design or object-based design early

n The level of mathematical rigor

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download