1. Trang chủ
  2. » Tất cả

Algorithm Design - Jon Kleinberg and Eva Tardos, Tsinghua University Press (2005)

864 5 1

Đ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 864
Dung lượng 3,31 MB

Nội dung

This page intentionally left blank Acquisitions Editor: Matt Goldstein Project Editor: Maite Suarez-Rivas Production Supervisor: Marilyn Lloyd Marketing Manager: Michelle Brown Marketing Coordinator: Jake Zavracky Project Management: Windfall Software Composition: Windfall Software, using ZzTEX Copyeditor: Carol Leyba Technical Illustration: Dartmouth Publishing Proofreader: Jennifer McClain Indexer: Ted Laux Cover Design: Joyce Cosentino Wells Cover Photo: © 2005 Tim Laman / National Geographic A pair of weaverbirds work together on their nest in Africa Prepress and Manufacturing: Caroline Fell Printer: Courier Westford Access the latest information about Addison-Wesley titles from our World Wide Web site: http://www.aw-bc.com/computing 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 warranties or representations, nor does it accept any liabilities with respect to the programs or applications Library of Congress Cataloging-in-Publication Data Kleinberg, Jon ´ Tardos.—1st ed Algorithm design / Jon Kleinberg, Eva p cm Includes bibliographical references and index ISBN 0-321-29535-8 (alk paper) ´ Computer algorithms Data structures (Computer science) I Tardos, Eva II Title QA76.9.A43K54 2005 005.1—dc22 2005000401 Copyright © 2006 by Pearson Education, Inc For information on obtaining permission for use of material in this work, please submit a written request to Pearson Education, Inc., Rights and Contract Department, 75 Arlington Street, Suite 300, Boston, MA 02116 or fax your request to (617) 848-7047 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 any toher media embodiments now known or hereafter to become known, without the prior written permission of the publisher Printed in the United States of America ISBN 0-321-29535-8 10-CRW-08 07 06 05 About the Authors Jon Kleinberg is a professor of Computer Science at Cornell University He received his Ph.D from M.I.T in 1996 He is the recipient of an NSF Career Award, an ONR Young Investigator Award, an IBM Outstanding Innovation Award, the National Academy of Sciences Award for Initiatives in Research, research fellowships from the Packard and Sloan Foundations, and teaching awards from the Cornell Engineering College and Computer Science Department Kleinberg’s research is centered around algorithms, particularly those concerned with the structure of networks and information, and with applications to information science, optimization, data mining, and computational biology His work on network analysis using hubs and authorities helped form the foundation for the current generation of Internet search engines ´ Tardos is a professor of Computer Science at CorEva nell University She received her Ph.D from Eăotvăos University in Budapest, Hungary in 1984 She is a member of the American Academy of Arts and Sciences, and an ACM Fellow; she is the recipient of an NSF Presidential Young Investigator Award, the Fulkerson Prize, research fellowships from the Guggenheim, Packard, and Sloan Foundations, and teaching awards from the Cornell Engineering College and Computer Science Department Tardos’s research interests are focused on the design and analysis of algorithms for problems on graphs or networks She is most known for her work on network-flow algorithms and approximation algorithms for network problems Her recent work focuses on algorithmic game theory, an emerging area concerned with designing systems and algorithms for selfish users This page intentionally left blank Contents About the Authors Preface v xiii Introduction: Some Representative Problems 1.1 A First Problem: Stable Matching 1.2 Five Representative Problems 12 Solved Exercises 19 Exercises 22 Notes and Further Reading 28 Basics of Algorithm Analysis 29 2.1 Computational Tractability 29 2.2 Asymptotic Order of Growth 35 2.3 Implementing the Stable Matching Algorithm Using Lists and Arrays 42 2.4 A Survey of Common Running Times 47 2.5 A More Complex Data Structure: Priority Queues 57 Solved Exercises 65 Exercises 67 Notes and Further Reading 70 Graphs 73 3.1 Basic Definitions and Applications 73 3.2 Graph Connectivity and Graph Traversal 78 3.3 Implementing Graph Traversal Using Queues and Stacks 87 3.4 Testing Bipartiteness: An Application of Breadth-First Search 94 3.5 Connectivity in Directed Graphs 97 viii Contents 3.6 ∗ Directed Acyclic Graphs and Topological Ordering Solved Exercises 104 Exercises 107 Notes and Further Reading 112 99 Greedy Algorithms 115 4.1 Interval Scheduling: The Greedy Algorithm Stays Ahead 116 4.2 Scheduling to Minimize Lateness: An Exchange Argument 125 4.3 Optimal Caching: A More Complex Exchange Argument 131 4.4 Shortest Paths in a Graph 137 4.5 The Minimum Spanning Tree Problem 142 4.6 Implementing Kruskal’s Algorithm: The Union-Find Data Structure 151 4.7 Clustering 157 4.8 Huffman Codes and Data Compression 161 ∗ 4.9 Minimum-Cost Arborescences: A Multi-Phase Greedy Algorithm 177 Solved Exercises 183 Exercises 188 Notes and Further Reading 205 Divide and Conquer 5.1 A First Recurrence: The Mergesort Algorithm 5.2 Further Recurrence Relations 214 5.3 Counting Inversions 221 5.4 Finding the Closest Pair of Points 225 5.5 Integer Multiplication 231 5.6 Convolutions and the Fast Fourier Transform Solved Exercises 242 Exercises 246 Notes and Further Reading 249 209 210 234 Dynamic Programming 251 6.1 Weighted Interval Scheduling: A Recursive Procedure 252 6.2 Principles of Dynamic Programming: Memoization or Iteration over Subproblems 258 6.3 Segmented Least Squares: Multi-way Choices 261 The star indicates an optional section (See the Preface for more information about the relationships among the chapters and sections.) ... Cataloging-in-Publication Data Kleinberg, Jon ´ Tardos.—1st ed Algorithm design / Jon Kleinberg, Eva p cm Includes bibliographical references and index ISBN 0-3 2 1-2 953 5-8 (alk paper) ´ Computer algorithms... context of algorithm design and analysis Chapters through cover four major algorithm design techniques: greedy algorithms, divide and conquer, dynamic programming, and network flow With greedy algorithms,... on network-flow algorithms and approximation algorithms for network problems Her recent work focuses on algorithmic game theory, an emerging area concerned with designing systems and algorithms

Ngày đăng: 12/03/2017, 20:50

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN