handbook of data structures and applications mehta sahni 2004 10 28 Cấu trúc dữ liệu và giải thuật

1.3K 365 0
handbook of data structures and applications mehta   sahni 2004 10 28 Cấu trúc dữ liệu và giải thuật

Đ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

CHAPMAN & HALL/CRC COMPUTER and INFORMATION SCIENCE SERIES Handbook of DATA STRUCTURES and APPLICATIONS © 2005 by Chapman & Hall/CRC CuuDuongThanCong.com CHAPMAN & HALL/CRC COMPUTER and INFORMATION SCIENCE SERIES Series Editor: Sartaj Sahni PUBLISHED TITLES HANDBOOK OF SCHEDULING: ALGORITHMS, MODELS, AND PERFORMANCE ANALYSIS Joseph Y-T Leung THE PRACTICAL HANDBOOK OF INTERNET COMPUTING Munindar P Singh HANDBOOK OF DATA STRUCTURES AND APPLICATIONS Dinesh P Mehta and Sartaj Sahni FORTHCOMING TITLES DISTRIBUTED SENSOR NETWORKS S Sitharama Iyengar and Richard R Brooks SPECULATIVE EXECUTION IN HIGH PERFORMANCE COMPUTER ARCHITECTURES David Kaeli and Pen-Chung Yew © 2005 by Chapman & Hall/CRC CuuDuongThanCong.com CHAPMAN & HALL/CRC COMPUTER and INFORMATION SCIENCE SERIES Handbook of DATA STRUCTURES and APPLICATIONS Edited by Dinesh P Mehta Colorado School of Mines Golden and Sartaj Sahni University of Florida Gainesville CHAPMAN & HALL/CRC A CRC Press Company Boca Raton London New York Washington, D.C © 2005 by Chapman & Hall/CRC CuuDuongThanCong.com For Chapters 7, 20, and 23 the authors retain the copyright Library of Congress Cataloging-in-Publication Data Handbook of data structures and applications / edited by Dinesh P Mehta and Sartaj Sahni p cm — (Chapman & Hall/CRC computer & information science) Includes bibliographical references and index ISBN 1-58488-435-5 (alk paper) System design—Handbooks, manuals, etc Data structures (Computer science)—Handbooks, manuals, etc I Mehta, Dinesh P II Sahni, Sartaj III Chapman & Hall/CRC computer and information science series QA76.9.S88H363 2004 005.7'3—dc22 2004055286 This book contains information obtained from authentic and highly regarded sources Reprinted material is quoted with permission, and sources are indicated A wide variety of references are listed Reasonable efforts have been made to publish reliable data and information, but the author and the publisher cannot assume responsibility for the validity of all materials or for the consequences of their use Neither this book nor any part may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, microfilming, and recording, or by any information storage or retrieval system, without prior permission in writing from the publisher All rights reserved Authorization to photocopy items for internal or personal use, or the personal or internal use of specific clients, may be granted by CRC Press, provided that $1.50 per page photocopied is paid directly to Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923 USA The fee code for users of the Transactional Reporting Service is ISBN 1-58488-435-5/04/$0.00+$1.50 The fee is subject to change without notice For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged The consent of CRC Press does not extend to copying for general distribution, for promotion, for creating new works, or for resale Specific permission must be obtained in writing from CRC Press for such copying Direct all inquiries to CRC Press, 2000 N.W Corporate Blvd., Boca Raton, Florida 33431 Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation, without intent to infringe Visit the CRC Press Web site at www.crcpress.com © 2005 by Chapman & Hall/CRC No claim to original U.S Government works International Standard Book Number 1-58488-435-5 Library of Congress Card Number 2004055286 Printed in the United States of America Printed on acid-free paper © 2005 by Chapman & Hall/CRC CuuDuongThanCong.com Dedication To our wives, Usha Mehta and Neeta Sahni © 2005 by Chapman & Hall/CRC CuuDuongThanCong.com Preface In the late sixties, Donald Knuth, winner of the 1974 Turing Award, published his landmark book The Art of Computer Programming: Fundamental Algorithms This book brought together a body of knowledge that defined the data structures area The term data structure, itself, was defined in this book to be A table of data including structural relationships Niklaus Wirth, the inventor of the Pascal language and winner of the 1984 Turing award, stated that “Algorithms + Data Structures = Programs” The importance of algorithms and data structures has been recognized by the community and consequently, every undergraduate Computer Science curriculum has classes on data structures and algorithms Both of these related areas have seen tremendous advances in the decades since the appearance of the books by Knuth and Wirth Although there are several advanced and specialized texts and handbooks on algorithms (and related data structures), there is, to the best of our knowledge, no text or handbook that focuses exclusively on the wide variety of data structures that have been reported in the literature The goal of this handbook is to provide a comprehensive survey of data structures of different types that are in existence today To this end, we have subdivided this handbook into seven parts, each of which addresses a different facet of data structures Part I is a review of introductory material Although this material is covered in all standard data structures texts, it was included to make the handbook self-contained and in recognition of the fact that there are many practitioners and programmers who may not have had a formal education in Computer Science Parts II, III, and IV discuss Priority Queues, Dictionary Structures, and Multidimensional structures, respectively These are all well-known classes of data structures Part V is a catch-all used for well-known data structures that eluded easy classification Parts I through V are largely theoretical in nature: they discuss the data structures, their operations and their complexities Part VI addresses mechanisms and tools that have been developed to facilitate the use of data structures in real programs Many of the data structures discussed in previous parts are very intricate and take some effort to program The development of data structure libraries and visualization tools by skilled programmers are of critical importance in reducing the gap between theory and practice Finally, Part VII examines applications of data structures The deployment of many data structures from Parts I through V in a variety of applications is discussed Some of the data structures discussed here have been invented solely in the context of these applications and are not well-known to the broader community Some of the applications discussed include Internet Routing, Web Search Engines, Databases, Data Mining, Scientific Computing, Geographical Information Systems, Computational Geometry, Computational Biology, VLSI Floorplanning and Layout, Computer Graphics and Image Processing For data structure and algorithm researchers, we hope that the handbook will suggest new ideas for research in data structures and for an appreciation of the application contexts in which data structures are deployed For the practitioner who is devising an algorithm, we hope that the handbook will lead to insights in organizing data that make it possible to solve the algorithmic problem more cleanly and efficiently For researchers in specific application areas, we hope that they will gain some insight from the ways other areas have handled their data structuring problems Although we have attempted to make the handbook as complete as possible, it is impossible to undertake a task of this magnitude without some omissions For this, we apologize in advance and encourage readers to contact us with information about significant data © 2005 by Chapman & Hall/CRC CuuDuongThanCong.com structures or applications that not appear here These could be included in future editions of this handbook We would like to thank the excellent team of authors, who are at the forefront of research in data structures, that have contributed to this handbook The handbook would not have been possible without their painstaking efforts We are extremely saddened by the untimely demise of a prominent data structures researcher, Professor G´ısli R Hjaltason, who was to write a chapter for this handbook He will be missed greatly by the Computer Science community Finally, we would like to thank our families for their support during the development of the handbook Dinesh P Mehta Sartaj Sahni © 2005 by Chapman & Hall/CRC CuuDuongThanCong.com About the Editors Dinesh P Mehta Dinesh P Mehta received the B.Tech degree in computer science and engineering from the Indian Institute of Technology, Bombay, in 1987, the M.S degree in computer science from the University of Minnesota in 1990, and the Ph.D degree in computer science from the University of Florida in 1992 He was on the faculty at the University of Tennessee Space Institute from 1992-2000, where he received the Vice President’s Award for Teaching Excellence in 1997 He was a Visiting Professor at Intel’s Strategic CAD Labs in 1996 and 1997 He has been an Associate Professor in the Mathematical and Computer Sciences department at the Colorado School of Mines since 2000 Dr Mehta is a co-author of the text Fundamentals of Data Structures in C + + His publications and research interests are in VLSI design automation, parallel computing, and applied algorithms and data structures His data structures-related research has involved the development or application of diverse data structures such as directed acyclic word graphs (DAWGs) for strings, corner stitching for VLSI layout, the Q-sequence floorplan representation, binary decision trees, Voronoi diagrams and TPR trees for indexing moving points Dr Mehta is currently an Associate Editor of the IEEE Transactions on Circuits and Systems-I Sartaj Sahni Sartaj Sahni is a Distinguished Professor and Chair of Computer and Information Sciences and Engineering at the University of Florida He is also a member of the European Academy of Sciences, a Fellow of IEEE, ACM, AAAS, and Minnesota Supercomputer Institute, and a Distinguished Alumnus of the Indian Institute of Technology, Kanpur Dr Sahni is the recipient of the 1997 IEEE Computer Society Taylor L Booth Education Award, the 2003 IEEE Computer Society W Wallace McDowell Award and the 2003 ACM Karl Karlstrom Outstanding Educator Award Dr Sahni received his B.Tech (Electrical Engineering) degree from the Indian Institute of Technology, Kanpur, and the M.S and Ph.D degrees in Computer Science from Cornell University Dr Sahni has published over two hundred and fifty research papers and written 15 texts His research publications are on the design and analysis of efficient algorithms, parallel computing, interconnection networks, design automation, and medical algorithms Dr Sahni is a co-editor-in-chief of the Journal of Parallel and Distributed Computing, a managing editor of the International Journal of Foundations of Computer Science, and a member of the editorial boards of Computer Systems: Science and Engineering, International Journal of High Performance Computing and Networking, International Journal of Distributed Sensor Networks and Parallel Processing Letters He has served as program committee chair, general chair, and been a keynote speaker at many conferences Dr Sahni has served on several NSF and NIH panels and he has been involved as an external evaluator of several Computer Science and Engineering departments © 2005 by Chapman & Hall/CRC CuuDuongThanCong.com Contributors Srinivas Aluru Arne Andersson Lars Arge Iowa State University Ames, Iowa Uppsala University Uppsala, Sweden Duke University Durham, North Carolina Sunil Arya Surender Baswana Mark de Berg Hong Kong University of Science and Technology Kowloon, Hong Kong Indian Institute of Technology, Delhi New Delhi, India Technical University, Eindhoven Eindhoven, The Netherlands Gerth Stølting Brodal Bernard Chazelle Chung-Kuan Cheng University of Aarhus Aarhus, Denmark Princeton University Princeton, New Jersey University of California, San Diego San Diego, California Siu-Wing Cheng Camil Demetrescu Narsingh Deo Hong Kong University of Science and Technology Kowloon, Hong Kong Universit´ a di Roma Rome, Italy University of Central Florida Orlando, Florida Sumeet Dua Christian A Duncan Peter Eades Louisiana Tech University Ruston, Louisiana University of Miami Miami, Florida University of Sydney and NICTA Sydney, Australia Andrzej Ehrenfeucht Rolf Fagerberg Zhou Feng University of Colorado, Boulder Boulder, Colorado University of Southern Denmark Odense, Denmark Fudan University Shanghai, China Irene Finocchi Michael L Fredman Teofilo F Gonzalez Universit´ a di Roma Rome, Italy Rutgers University, New Brunswick New Brunswick, New Jersey University of California, Santa Barbara Santa Barbara, California Michael T Goodrich Leonidas Guibas S Gunasekaran University of California, Irvine Irvine, California Stanford University Palo Alto, California Louisiana State University Baton Rouge, Louisiana Pankaj Gupta Prosenjit Gupta Joachim Hammer Cypress Semiconductor San Jose, California International Institute of Information Technology Hyderabad, India University of Florida Gainesville, Florida Monika Henzinger Seok-Hee Hong Wen-Lian Hsu Google, Inc Mountain View, California University of Sydney and NICTA Sydney, Australia Academia Sinica Taipei, Taiwan Giuseppe F Italiano S S Iyengar Ravi Janardan Universit´ a di Roma Rome, Italy Louisiana State University Baton Rouge, Louisiana University of Minnesota Minneapolis, Minnesota © 2005 by Chapman & Hall/CRC CuuDuongThanCong.com Haim Kaplan Kun Suk Kim Vipin Kumar Tel Aviv University Tel Aviv, Israel University of Florida Gainesville, Florida University of Minnesota Minneapolis, Minnesota Stefan Kurtz Kim S Larsen D T Lee University of Hamburg Hamburg, Germany University of Southern Denmark Odense, Denmark Academia Sinica Taipei, Taiwan Sebastian Leipert Scott Leutenegger Ming C Lin Center of Advanced European Studies and Research Bonn, Germany University of Denver Denver, Colorado University of North Carolina Chapel Hill, North Carolina Stefano Lonardi Mario A Lopez Haibin Lu University of California, Riverside Riverside, California University of Denver Denver, Colorado University of Florida Gainesville, Florida S N Maheshwari Dinesh Manocha Ross M McConnell Indian Institute of Technology, Delhi New Delhi, India University of North Carolina Chapel Hill, North Carolina Colorado State University Fort Collins, Colorado Dale McMullin Dinesh P Mehta Mark Moir Colorado School of Mines Golden, Colorado Colorado School of Mines Golden, Colorado Sun Microsystems Laboratories Burlington, Massachusetts Pat Morin David M Mount J Ian Munro Carleton University Ottawa, Canada University of Maryland College Park, Maryland University of Waterloo Ontario, Canada Stefan Naeher Bruce F Naylor Chris Okasaki University of Trier Trier, Germany University of Texas, Austin Austin, Texas United States Military Academy West Point, New York C Pandu Rangan Alex Pothen Alyn Rockwood Indian Institute of Technology, Madras Chennai, India Old Dominion University Norfolk, Virginia Colorado School of Mines Golden, Colorado S Srinivasa Rao Rajeev Raman Wojciech Rytter University of Waterloo Ontario, Canada University of Leicester Leicester, United Kingdom New Jersey Institute of Technology Newark, New Jersey & Warsaw University Warsaw, Poland Sartaj Sahni Hanan Samet Sanjeev Saxena University of Florida Gainesville, Florida University of Maryland College Park, Maryland Indian Institute of Technology, Kanpur Kanpur, India © 2005 by Chapman & Hall/CRC CuuDuongThanCong.com ... CuuDuongThanCong.com 4 0-1 4 8-1 4 9-1 5 0-1 5 1-1 5 2-1 5 3-1 5 4-1 5 5-1 5 6-1 57 58 59 60 61 62 63 64 Image Data Structures S S Iyengar, V K Vaishnavi, and S Gunasekaran 5 7-1 Computational... Fundamentals 9-1 1 0-1 1 1-1 1 2-1 1 3-1 1 4-1 1 5-1 Multidimensional and Spatial Structures Multidimensional Spatial Data Structures Hanan Samet 1 6-1 Planar Straight Line Graphs Siu-Wing Cheng... Peter Eades and Seok-Hee Hong Concurrent Data Structures Mark Moir and Nir Shavit Part VII: 48 49 50 51 52 53 54 55 56 4 1-1 4 2-1 4 3-1 4 4-1 4 5-1 4 6-1 4 7-1 Applications IP Router

Ngày đăng: 29/08/2020, 18:21

Mục lục

  • Handbook of DATA STRUCTURES and APPLICATIONS

    • Dedication

    • Preface

    • About the Editors

    • Contributors

    • Contents

    • Part I: Fundamentals

      • Chapter 1: Analysis of Algorithms

        • 1.1 Introduction

        • 1.2 Operation Counts

        • 1.3 Step Counts

        • 1.4 Counting Cache Misses

          • 1.4.1 A Simple Computer Model

          • 1.4.2 Effect of Cache Misses on Run Time

          • 1.4.3 Matrix Multiplication

          • 1.5 Asymptotic Complexity

            • 1.5.1 Big Oh Notation (O)

            • 1.5.2 Omega (omega) and Theta (theta) Notations

            • 1.5.3 Little Oh Notation (o)

            • 1.6 Recurrence Equations

              • 1.6.1 Substitution Method

              • 1.6.2 Table-Lookup Method

              • 1.7 Amortized Complexity

                • 1.7.1 What is Amortized Complexity?

                • 1.7.2 Maintenance Contract

                  • Problem Definition

                  • Worst-Case Method

                  • Aggregate Method

Tài liệu cùng người dùng

Tài liệu liên quan