foundations of algorithms 5th 2014

Foundations of Algorithms, Fifth Edition offers a wellbalanced presentation of algorithm design, complexity analysis of algorithms, and computational complexity. Ideal for any computer science students with a background in college algebra and discrete structures, the text presents mathematical conc
World headquarters Jones bartlett learning 5 Wall street Burlington, MA O1803 9784435000 info(@jblearning.com www.iblearning.com Jones bartlett learning books and products are available through most bookstores and online booksellers. To contact Jones&BartlettLearningdirectlycall8008320034,fax9784438000,orvisitourwebsitewww.jblearning.com Substantial discounts on bulk quantities of Jones bartlett Learning publications are available to corporations, professional associations, and other qualified organizations. For details and specific discount information, contact the special sales department at Jones bartlett Learning via the above contact information or send an email to specialsales(ajblearning.com Copyright C 2015 by Jones bartlett Learning, LLC, an Ascend Learning Company All rights reserved. No part of the material protected by this copyright may be reproduced or utilized in any form electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without written permission from the copyright owner The content, statements, viewS, and opinions herein are the sole expression of the respective authors and not that of Jones Bartlett Learning, LLC. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not constitute or imply its endorsement or recommendation by jones Bartlett Learning, LLC and such reference shall not be used for advertising or product endorsement purposes. All trademarks displayed are the trademarks of the parties noted herein. Foundations of algorithms, Fifth edition is an independent publication and has not been authorized, sponsored, or otherwise approved by the owners of the trademarks or service marks referenced in this product. There may be images in this book that feature models; these models do not necessarily endorse, represent, or participate in the activities represented in the images. any screenshots in this product are for educational and instructive purposes only. Any individuals and scenarios featured in the case studies throughout this product may be real or fictitious, but are used for instructional purposes onlv Production credits Executive publisher: willliam brottmilller Publisher: Cathy L Esperti Acquisitions Editor: Laura Pagluicd Editorial assistant: Brooke yee Director of Production: Amy rose Associate Production editor Sara Fowles Marketing manager: Cassandra peterson VP, Manufacturing and Inventory control: Therese connell Composition: diacriTech Cover Design: Kristin E. Parker Director of Photo Research and Permissions: Amy wrynn Cover Image: C satori13/iStock/Thinkstock(top and bottom); C mastaka/iStock/Thinkstock(title background Printing and Binding: Edwards Brothers Malloy Cover Printing: Edwards Brothers Malloy Library of Congress CataloginginPublication Data Neapolitan, Richard E, author Foundations of algorithms. Fifth edition/ Richard Neapolitan, PhD, Northwestern University. P, Cm Includes bibliographical references and index ISBN9781284049190(pbk) 1. Algorithms. 2. Constructive mathematics. 3. Computational complexity. I. Title QA9.58N432015 518’1dc23 2013050988 6048 Printed in the united states of america l81716151410987654321 In memory of my friend Jack, who made life fun Richard e Neapolitan Preface This fifth edition of Foundations of algorithms retains the features that made the previous editions successful. As in those editions, i still use pseudocode and not actual C++ code The presentation of complex algorithms using all the details of any programming language would only cloud the students' understanding of the algorithms. Furthermore, the pseudocode should be understandable to someone versed in any highlevel language, which means it should avoid details specific to any one language as much as possible Significant deviations from C++ are discussed on pages 57 of the text. This text is about designing algorithms, complexity analysis of algorithms, and computational complexity (analysis of problems). It does not cover other types of analyses, such as analysis of correctness. My motivation for writing this book was my inability to find a text that rigorously discusses complexity analysis of algorithms, yet is accessible to computer science students at mainstream universities such as Northeastern Illinois University. The majority of Northeastern's students have not studied calculus, which means that they are not comfortable with abstract mathematics and mathematical notation. The existing texts that I know of use notation that is fine for a mathematically sophisticated student, but is a bit terse for Northeastern's student body To make this text more accessible, i do the following assume that the student 's mathematics background includes only college algebra and discrete structures use more English description than is ordinarily used to explain mathematical concepts give more detail in formal proofs than is usually done provide many examples This text is targeted to a onesemester upperlevel undergraduate or graduate course in the design and analysis of algorithms. It is intended to provide students with a basic of understanding of how to write and analyze algorithms and to impart to them the skills needed to write algorithms using the standard algorithm design strategies. Previously these included divideandconquer, dynamic programming, the greedy approach, backtracking, and branchandbound. However, in recent years the use of genetic algorithms has become increasingly important to the computer scientist. Yet a student would only be introduced to such algorithms if the student took a course related to artificial intelligence. There is nothing inherent in genetic algorithms that relegates them to the domain of artificial intelligence so, to better provide a repertoire of current useful techniques, I have added a chapter on genetic algorithms and genetic programming in this edition Because the vast majority of complexity analysis requires only a knowledge of finite mathematics, in most of the discussions i am able to assume only a background in college algebra and discrete structures. That is, for the most part, i do not find it necessary to rel on any concepts learned only in a calculus course. Often students without a calculus background are not yet comfortable with mathematical notation. Therefore, wherever possible, I introduce mathematical concepts (such as "big O") using more English description and less notation than is ordinarily used. It is no mean task finding the right mix of these two a certain amount of notation is necessary to make a presentation lucid whereas too much vexes many students. Judging from students'responses, I have found a g ood mix This is not to say that I cheat on mathematical rigor. i provide formal proofs for all results. However, i give more detail in the presentation of these proofs than is usually done, and i provide a great number of examples. By seeing concrete cases, students can often more easily grasp a theoretical concept. Therefore, if students who do not have strong mathematical backgrounds are willing to put forth sufficient effort, they should be able to follow the mathematical arguments and thereby gain a deeper grasp of the subject matter. Furthermore, I do include material that requires knowledge of calculus(such as the use of limits to determine order and proofs of some theorems). However, students do not need to master this material to understand the rest of the text. Material that requires calculus is marked with a symbol in the table of contents and in the margin of the text material that is inherently more difficult than most of the text but that requires no extra mathematical background is marked with a symbol. Prerequisites As mentioned previously, I assume that the students background in mathematics includes only college algebra and finite mathematics. The actual mathematics that is required is eviewed in Appendix a For computer science background, I assume that the student has taken a data structures course. Therefore, material that typically appears in a data structures text is not presented here Chapter contents For the most part, I have organized this text by technique used to solve problems, rather than by application area. I feel that this organization makes the field of algorithm design and analysis appear more coherent. Furthermore, students can more readily establish a repertoire of techniques that they can investigate as possible ways to solve a new problem The chapter contents are as follows: Chapter 1 is an introduction to the design and analysis of algorithms. It includes both an intuitive and formal introduction to the concept of order Chapter 2 covers the divideandconquer approach to designing algorithms Chapter 3 presents the dynamic programming design method. i discuss when dynamic programming should be used instead of divideandconquer Chapter 4 discusses the greedy approach and ends with a comparison of the dynamic programming and greedy approaches to solving optimization problems Chapters 5 and 6 cover backtracking and branchandbound algorithms respectively In Chapter 7 I switch from analyzing algorithms to computational complexity, which is the analysis of problems. I introduce computation complexity by analyzing the Sorting Problem. i chose that problem because of its importance, because there are such a large variety of sorting algorithms, and, most significantly, because there are sorting algorithms that perform about as well as the lower bound for the sorting problem(as far as algorithms that sort only by comparisons of keys ). After comparing sorting algorithms, I analyze the problem of sorting by comparisons of keys. The chapter ends with radix sort, which is a sorting algorithm that does not sort by comparison keys In Chapter 8 I further illustrate computational complexity by analyzing the searching Problem. i analyze both the problem of searching for a key in a list and the selection Problem, which is the problem of finding the kthsmallest key in a list Chapter 9 is devoted to intractability and the theory of NP. to keep this text accessible yet rigorous, I give a more complete discussion of this material than is usually given in an algorithms text. I start out by explicitly drawing the distinction between problems for which polynomialtime algorithms have been found, problems that have been proven to be intractable, and problems that have not been proven to be intractable but for which polynomialtime algorithms have never been found. i then discuss the sets p and NP NPcomplete problems, and NPequivalent problems. I have found that students are often left confused if they do not explicitly see the relationships among these sets. I end the chapter with a discussion of approximation algorithms Chapter 10 covers genetic algorithms and genetic programming. I provide both the theory and practical applications such as a financial trading algorithm Chapter 11 covers numbertheoretic algorithms, including Euclid's algorithm, and the new polynomialtime algorithm for determining whether a number is prime Chapter 12 covers an introduction to parallel algorithms, including parallel architectures and the pram model Appendix a reviews the mathematics that is necessary for understanding the text Appendix B covers techniques for solving recurrences. The results in Appendix B are used in our analyses of divideandconquer algorithms in Chapter 2 Appendix c presents a disjoint set data structure that is needed to implement two algorithms in Chapter 4 Pedagogy To motivate the student, i begin each chapter with a story that relates to the material in the chapter. In addition, I use many examples and end the chapters with ample exercises, which are grouped by section. Following the section exercises are supplementary exercises that are often more challenging To show that there is more than one way to attack a problem, I solve some problems using more than one technique. For example, I solve the Traveling Salesperson Problem UsIn ng dynamic programming, branchandbound, and an approximation algorithm. I solve the 01 Knapsack Problem using dynamic programming, backtracking, and branchand bound To further integrate the material, i present a theme that spans several chapters, concerning a salesperson named Nancy who is looking for an optimal tour for her sales route Course Outlines As mentioned previously this text is intended for an upperlevel undergraduate or graduate course in algorithms In a one semester course I recommend covering the following material in this order Chapter 1: All Appendix B: Sections B. 1, B3 Chapter 2: Sections 2. 12.5, 2.8 Chapter 3 Sections 3. 13.4, 3.6 Chapter 4: Sections 4.1, 4.2, 4.4 Chapter 5: Sections 5.1, 5.2, 5.4, 5.6, 5.7 Chapter 6: Sections 6.1.6.2 Chapter7: Sections7.17.5,7.7,7.8.1,7.8.2,7.9 Chapter 8 Sections 8. 1.1,8.5.1,8.5.2 Chapter 9: Sections 9. 19.4 Chapter 10: Sections 10.110.3.2 Chapters 26 contain several sections, each solving a problem using the design method presented in the chapter. I cover the ones of most interest to us, but you are free to choose any of the sections You may not be able to cover any of chapters 11 and 12. However, the material in Chapter 12 is quite accessible once students have studies the first ten chapters. Students with a solid mathematics background, such as that obtained by studying calculus, should be able to read chapter 11 on their own Instructor resources An Instructor's Manual, Power Point presentations, and complete solutions manual are available for qualified instructors. Jones Bartlett Learning reserves the right to evaluate all requests Acknowledgments I would like to thank all those individuals who read the original manuscript and provided many useful suggestions. In particular, I thank my colleagues William Bultman, Jack Hade, Mary and Jim Kenevan, Stuart Kurtz, Don La Budde, and Miguel vian, all of whom quite readily and thoroughly reviewed whatever was asked of them. I further thank the academic and professional peer reviewers, who made this a far better text through their insightful critiques. Many of them certainly did a much more thorough job than we would have expected. They include David D. Berry, Xavier University; David W. Boyd, Valdosta State University: Vladimir Drobot, San Jose State University; Dan Hirschberg, University of California at Irvine; Xia Jiang, Northeastern Illinois University; Raghu Karinthi, West Virginia University; Peter Kimmel, Northeastern Illinois University; C. Donald La Budde, Northeastern Illinois University; Y. Daniel Liang, Indiana Purdue University at Fort Wayne; David MagagnoSC, Drexel University; Robert J. McGlinn, Southern Illinois University at Carbondale; Laurie C. Murphy, University of Mississippi; Paul D. Phillips, Mount Mercy College; H. Norton Riley, California State Polytechnic University, Pomona Majid Sarrafzadeh, Northwestern University; Cliff Shaffer, Virginia Polytechnical Institute and State University; Nancy Van Cleave, Texas Tech University; and William L. Ziegler, State University of New York, binghamton. Finally, i would like to thank taylor and Francis, in particular Randi Cohen, for allowing me to include material from my 2012 text Contemporary Artificial Intelligence in this text's new Chapter 10, titled Genetic Algorithms and Genetic Programming Errors There are sure to be some errors in an endeavor of this magnitude. If you find any errors or have any suggestions for improvements, I would certainly like to hear from you. Please send your comments to Rich Neapolitan Email: RENeapolitan @neiu. edu. Thanks RN

20190130
 不客气，需要方面的请告知。
 12.38MB
Foundations Of Algorithms(5th) mobi
20180112Foundations Of Algorithms(5th) 英文mobi 第5版 本资源转载自网络，如有侵权，请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
 10.44MB
Foundations Of Algorithms(5th) epub
20180112Foundations Of Algorithms(5th) 英文epub 第5版 本资源转载自网络，如有侵权，请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
 31.83MB
Ensemble Methods_Foundations and Algorithms.pdf
20200105Ensemble Methods_Foundations and Algorithms.pdf；Ensemble Methods_Foundations and Algorithms.pdf
 4.61MB
Ensemble Methods Foundations and Algorithms(清晰版)
20130101An uptodate, selfcontained introduction to a stateoftheart machine learning approach, Ensemble
 30.91MB
Machine Learning Refined: Foundations, Algorithms, and Applications
20170227"Machine Learning Refined: Foundations, Algorithms, and Applications" English  ISBN: 1107123526  2
 6.8MB
Machine.Learning.Refined.Foundations.Algorithms.and.Applications.epub
20161230Providing a unique approach to machine learning, this text contains fresh and intuitive, yet rigorou
 1.40MB
Ensemble Methods Foundations and Algorithms读书笔记
20150425Ensemble Methods Foundations and Algorithms的读书笔记，介绍boosting,bagging，adaboost等理论
 5.20MB
Ensemble Methods Foundations and Algorithms
20140611Ensemble Methods Foundations and Algorithms
 2.81MB
Foundations of Machine Learning
20180115Fundamental topics in machine learning are presented along with theoretical and conceptual tools for
 10.44MB
Foundation of Algorithms
20150902经典英文原版算法书，epub格式，ISBN:1284049191
 5.15MB
Foundations of Computer Science C Edition
20190428Foundations of Computer Science C Edition
 8.7MB
Mathematical Foundations of Computer
20141109Mathematical Foundations of Computer  the powerful book to learn mathematics for computer science
 19.15MB
Java Software Solutions Foundations of Program Design 8th
20171016Java Software Solutions Foundations of Program Design 8th
 8.11MB
Foundations of Analog and Digital Electronic Circuits
20180824Foundations of Analog and Digital Electronic Circuits,作者：Anan和Jeffrey，经典书籍
 7.81MB
Foundations of Analog and Digital Electronic Circuits.pdf
20180127Foundations of Analog and Digital Electronic Circuits.pdfFoundations of Analog and Digital Electroni
 45.54MB
Book 1  Foundations of Risk Management.pdf
20190721FRM 2018 level 1 Book 1 foundations of risk management
 3.23MB
Probabilistic Foundations of Statistical Network Analysis
20180607Probabilistic Foundations of Statistical Network Analysis presents a fresh and insightful perspectiv
 2.57MB
Foundations of Statistical Natural Language Processing
20181229Part I Preliminaries 1 Introduction 1.1 Prologue: Rationalist and Empiricist Approaches 1.2 Scientif
 4.18MB
Foundations Of Semantic Web Technologies
20171126Foundations Of Semantic Web Technologies，Foundations Of Semantic Web Technologies
 28KB
MySQL命令大全
20180115MYSQL常用命令 1.导出整个数据库 mysqldump u 用名 p –defaultcharacterset=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) m
C语言程序设计（全程实践）
20190709C语言是非常流行的高级编程语言之一，是很多同学的入门编程语言，是建立编程思想的基础课程。 本视频课程是配合学生在学习了基本的理论课程的同时，进行编程实践，帮助初学者有效的进行上机实践，视频主要通过实例编程讲解C语言。 该课程适合学生在课堂学习了基本的理论后再进行实践学习。
 1.16MB
微信小程序 实例汇总 完整项目源代码
20161101微信小程序 实例汇总 完整项目源代码
大数据的入门视频教程
20180726大数据技术入门视频课程，会从基础思想和原理架构开始，全面介绍大数据的思想体系和架构，为学员进一步学习大数据奠定良好的基础。内容涉及大数据的核心问题、大数据核心思想，Google的三篇论文、GFS，Google的分布式文件系统，MapReduce，BigTable、Hadoop和Spark生态体系以及具体应用演示。
C++编程基础
20200209学习本课程无需任何编程基础，从零开始手把手教你从小白到大师的完美蜕变。 本课程结合c++编程语言特点以及企业实际需求，经过精心编排和设计，主要有以下特色： 1、精细讲解C++重要语法，快速掌握C++编程技巧； 2、全面领悟STL标准模板库，为存储和处理数据提供标准步骤； 3、深入了解MFC应用程序框架，为设计自己的应用程序做准备。 本课程献给有志于想快速、全面掌握C++编程基础与核心技术的你，希望本课程能让你对编程和技术之路有更深的体会与兴趣。
 47.52MB
非常漂亮的100个前端案例
20180604非常漂亮的100个前端案例，包含幻灯片切换、图片缩放、相册、放大镜、图片拖着滚动等等，只有你想不到。

博客
Linux_软件包管理_rpm包管理_yum管理rpm包
Linux_软件包管理_rpm包管理_yum管理rpm包

下载
CentOS7搭建Solr7.4(单机).docx
CentOS7搭建Solr7.4(单机).docx

下载
基于FPGA的VGA视频显示弹弹球游戏
基于FPGA的VGA视频显示弹弹球游戏

博客
docker部署prometheus及node_exporter安装
docker部署prometheus及node_exporter安装

博客
安装nodeJS
安装nodeJS

博客
人脂肪前体细胞，研究糖尿病胰岛抵抗、肥胖的优秀体外模型
人脂肪前体细胞，研究糖尿病胰岛抵抗、肥胖的优秀体外模型

博客
Q3净利同比下滑超30%，脱离小米的“云米们”还能长大吗？
Q3净利同比下滑超30%，脱离小米的“云米们”还能长大吗？

学院
Cognos 实践操作
Cognos 实践操作

学院
快速入门CTF逆向
快速入门CTF逆向

下载
maoxiaowebclipper.zip 网页剪辑工具，可以剪出markdown到本地
maoxiaowebclipper.zip 网页剪辑工具，可以剪出markdown到本地

下载
matlab GUI 波动光学实验设计与仿真
matlab GUI 波动光学实验设计与仿真

博客
罗斯蒙特变送器三种常见故障
罗斯蒙特变送器三种常见故障

下载
简数采集易优(EyouCMS)免登陆发布接口.zip
简数采集易优(EyouCMS)免登陆发布接口.zip

下载
BuleToothControl.zip
BuleToothControl.zip

学院
配置PXE服务器批量安装VMware ESXi6.5/ESXi6.7
配置PXE服务器批量安装VMware ESXi6.5/ESXi6.7

博客
C++引用
C++引用

下载
庚顿实时数据库管理系统v3.0技术白皮书.pdf
庚顿实时数据库管理系统v3.0技术白皮书.pdf

博客
es6 export的用法
es6 export的用法

下载
大陆省市区乡镇列表（含城市代码）.xlsx
大陆省市区乡镇列表（含城市代码）.xlsx

博客
网络请求返回码
网络请求返回码

下载
四参数、七参数坐标转换程序V1.1（完整VS项目、解压即调试、最小二乘平差、强大矩阵库）
四参数、七参数坐标转换程序V1.1（完整VS项目、解压即调试、最小二乘平差、强大矩阵库）

学院
方法的定义和使用 视频
方法的定义和使用 视频

学院
手把手搭建SpringBoot电子商城网站【附源码】（毕设）
手把手搭建SpringBoot电子商城网站【附源码】（毕设）

博客
for循环流程控制语句
for循环流程控制语句

学院
循环语句(上) 视频
循环语句(上) 视频

下载
超市管理系统(控制台版).rar
超市管理系统(控制台版).rar

下载
SerialIO_30.100.1902.3_CNLPCH_RS5_v2.zip
SerialIO_30.100.1902.3_CNLPCH_RS5_v2.zip

学院
小程序开发基础与项目实战
小程序开发基础与项目实战

博客
idea环境下，配置文件敏感信息使用ENC加密
idea环境下，配置文件敏感信息使用ENC加密

学院
JDK15新特性系列课程
JDK15新特性系列课程