phân tích thiết kế giải thuật introduction to the design and analysis of algorithms 3rd ed levitin sinhvienzone com

593 400 0
phân tích thiết kế giải thuật introduction to the design and analysis of algorithms 3rd ed levitin sinhvienzone com

Đ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

.C om ne Zo en hV i in Si nh V ie nZ on e C om This page intentionally left blank en Zo ne C om nh Vi Si .C om Marcia Horton Michael Hirsch Matt Goldstein Chelsea Bell Patrice Jones Yezan Alayan Kathryn Ferranti Emma Snider Vince O’Brien Jeff Holcomb Kayla Smith-Tarbox Alan Fischer Lisa McDowell Anthony Gemmellaro Sandra Rigney Anthony Gemmellaro Jennifer Kohnke Daniel Sandin Windfall Software Windfall Software, using ZzTEX Courier Westford Courier Westford Times Ten Zo ne Vice President and Editorial Director, ECS Editor-in-Chief Acquisitions Editor Editorial Assistant Vice President, Marketing Marketing Manager Senior Marketing Coordinator Marketing Assistant Vice President, Production Managing Editor Production Project Manager Senior Operations Supervisor Manufacturing Buyer Art Director Text Designer Cover Designer Cover Illustration Media Editor Full-Service Project Management Composition Printer/Binder Cover Printer Text Font Vi en Copyright © 2012, 2007, 2003 Pearson Education, Inc., publishing as Addison-Wesley All rights reserved Printed in the United States of America This publication is protected by Copyright, and permission should be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise To obtain permission(s) to use material from this work, please submit a written request to Pearson Education, Inc., Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your request to 201-236-3290 Si nh This is the eBook of the printed book and may not include any media, Website access codes or print supplements that may come packaged with the bound book Many of the designations by manufacturers and sellers to distinguish their products are claimed as trademarks Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed in initial caps or all caps Library of Congress Cataloging-in-Publication Data Levitin, Anany Introduction to the design & analysis of algorithms / Anany Levitin — 3rd ed p cm Includes bibliographical references and index ISBN-13: 978-0-13-231681-1 ISBN-10: 0-13-231681-1 Computer algorithms I Title II Title: Introduction to the design and analysis of algorithms QA76.9.A43L48 2012 005.1—dc23 2011027089 15 14 13 12 11—CRW—10 ISBN 10: 0-13-231681-1 ISBN 13: 978-0-13-231681-1 en Zo ne C om nh Vi Si Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto Delhi Mexico City Sao Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo Si nh V ie nZ on e C om This page intentionally left blank en Zo ne C om nh Vi Si Brief Contents New to the Third Edition xvii Preface xix Introduction Fundamentals of the Analysis of Algorithm Efficiency 41 Brute Force and Exhaustive Search 97 Decrease-and-Conquer 131 Divide-and-Conquer 169 Transform-and-Conquer 201 Space and Time Trade-Offs 253 Dynamic Programming 283 Greedy Technique 315 10 Iterative Improvement 345 11 Limitations of Algorithm Power 387 12 Coping with the Limitations of Algorithm Power 423 Epilogue 471 APPENDIX A Useful Formulas for the Analysis of Algorithms 475 APPENDIX B Short Tutorial on Recurrence Relations 479 References 493 Hints to Exercises 503 Index 547 v Si nh V ie nZ on e C om This page intentionally left blank en Zo ne C om nh Vi Si Contents New to the Third Edition xvii Preface xix Introduction 1.1 What Is an Algorithm? Exercises 1.1 1.2 Fundamentals of Algorithmic Problem Solving Understanding the Problem Ascertaining the Capabilities of the Computational Device Choosing between Exact and Approximate Problem Solving Algorithm Design Techniques Designing an Algorithm and Data Structures Methods of Specifying an Algorithm Proving an Algorithm’s Correctness Analyzing an Algorithm Coding an Algorithm Exercises 1.2 1.3 Important Problem Types Sorting Searching String Processing Graph Problems Combinatorial Problems Geometric Problems Numerical Problems Exercises 1.3 9 11 11 12 12 13 14 15 17 18 19 20 20 21 21 22 22 23 vii en Zo ne C om 1.4 Fundamental Data Structures Linear Data Structures Graphs Trees Sets and Dictionaries Exercises 1.4 Summary 25 25 28 31 35 37 38 Fundamentals of the Analysis of Algorithm Efficiency 2.1 The Analysis Framework 41 Measuring an Input’s Size Units for Measuring Running Time Orders of Growth Worst-Case, Best-Case, and Average-Case Efficiencies Recapitulation of the Analysis Framework 42 43 44 45 47 50 Exercises 2.1 50 2.2 Asymptotic Notations and Basic Efficiency Classes Informal Introduction O-notation -notation -notation Useful Property Involving the Asymptotic Notations Using Limits for Comparing Orders of Growth Basic Efficiency Classes Exercises 2.2 2.3 Mathematical Analysis of Nonrecursive Algorithms Exercises 2.3 2.4 Mathematical Analysis of Recursive Algorithms Exercises 2.4 2.5 Example: Computing the nth Fibonacci Number Exercises 2.5 2.6 Empirical Analysis of Algorithms Exercises 2.6 2.7 Algorithm Visualization Summary nh Vi Contents Si viii 52 52 53 54 55 55 56 58 58 61 67 70 76 80 83 84 89 91 94 ... to design new algorithms and analyze their efficiency From the theoretical standpoint, the study of algorithms, sometimes called algorithmics, has come to be recognized as the cornerstone of computer... issues related to the design and analysis of algorithms The different aspects of algorithmic problem solving range from analysis of the problem and the means of expressing an algorithm to establishing... some of the things done toward this objective Sharing the opinion of George Forsythe expressed in the epigraph, I have sought to stress major ideas underlying the design and analysis of algorithms

Ngày đăng: 30/01/2020, 22:05

Từ khóa liên quan

Mục lục

  • Cover

  • Copyright Page

  • Title Page

  • Brief Contents

  • Contents

  • New to the Third Edition

  • Preface

  • Acknowledgments

  • 1 Introduction

    • 1.1 What Is an Algorithm?

      • Exercises 1.1

      • 1.2 Fundamentals of Algorithmic Problem Solving

        • Understanding the Problem

        • Ascertaining the Capabilities of the Computational Device

        • Choosing between Exact and Approximate Problem Solving

        • Algorithm Design Techniques

        • Designing an Algorithm and Data Structures

        • Methods of Specifying an Algorithm

        • Proving an Algorithm’s Correctness

        • Analyzing an Algorithm

        • Coding an Algorithm

        • Exercises 1.2

        • 1.3 Important Problem Types

          • Sorting

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

Tài liệu liên quan