c++数据结构与算法-第四版(完整英文版)by Adam Drozdek


-
Object-Oriented Programming Using C++ 1 1.1 Abstract Data Types 1 1.2 Encapsulation 1 1.3 Inheritance 6 1.4 Pointers 9 1.4.1 Pointers and Arrays 12 1.4.2 Pointers and Copy Constructors 14 1.4.3 Pointers and Destructors 16 1.4.4 Pointers and Reference Variables 17 1.4.5 Poi
This is an electronic version of the print textbook. Due to electronic rights restrictions, some third party content may be suppressed. Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. The publisher reserves the right to remove content from this title at any time if subsequent rights restrictions require it For valuable information on pricing, previous editions, changes to current editions, and alternate formatspleasevisitwww.cengage.com/higheredtosearchbyIsBn#,authortitlesorkeywordfor materials in your areas of interest Eai, copyright 2012 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s) torial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. CENGAG Learning Data Structures and C 2013 Cengage Learning Algorithms in C++, Fourth edition ALL RIGHTS RESERVED. No part of this work covered by the copyright herein y Adam Drozdek may be reproduced, transmitted, stored or used in any form or by any means graphic, electronic, or mechanical, including but not limited to photocopying, Executive Editor: marie lee recording, scanning, digitizing, taping, Web distribution, information networks, Senior Product manager or information storage and retrieval systems, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without the prior Alyssa Pratt written permission of the publisher. Associate Product manager Stephanie Lorenz For product information and technology assistance contact us at Content Project manager CengageLearningCustomer&SalesSupport,www.cengage.com/support Matthew hutchinson For permission to use material from this text or product, submit all Art Director: Cheryl Pearl requestsonlineatwww.cengage.com/permissions Print Buyer: Julio Esperas Further permissions questions can be emailed to permissionrequest@cengage.com Compositor: PreMedia Global Proofreader: Andrea schein Library of Congress Control Number: 2012942244 Indexer: Sharon Hilgenberg SBN-13:978-1-133-60842-4 SBN-10:1133-60842-6 Cengage Learning 20 Channel center street Boston, MA 02210 USA Cengage Learning is a leading provider of customized learning solutions with office locations around the globe, including Singapore, the United Kingdom, Australia, Mexico, Brazil and Japan. Locate your local office at www.cengage.com/global Cengage Learning products are represented in Canada by Nelson Education, Ltd TolearnmoreaboutCengageLearningvisitwww.cengage.com Purchase any of our products at your local college store or at our preferred onlinestorewww.cengagebrain.com Some of the product names and company names used in this book have been used for identification purposes only and may be trademarks or registered trademarks of their respective manufacturers and sellers Any fictional data related to persons or companies or URLs used throughout this book is intended for instructional purposes only. At the time this book was printed, any such data was fictional and not belonging to any real persons or companies Cengage learning reserves the right to revise this publication and make changes from time to time in its content without notice The programs in this book are for instructional purposes only. They have been tested with care, but are not guaranteed for any particular intent beyond educational purposes. The author and the publisher do not offer any warranties or repre- sentations, nor do they accept any liabilities with respect to the programs Printed in the United States of america 123456718171615141312 Eai, copyright 2012 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s) torial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. TO MY DAUGHTERS, JUSTYNA AND KASIA Eai, copyright 2012 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s) torial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Eai, copyright 2012 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s) torial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Contents 1 OBJECT-ORIENTED PROGRAMMING USING C++ 1.1 Abstract Data Types 1 1.2 Encapsulation 1 1. 3 Inheritance 6 1. 4 pointers 9 1.4.1 Pointers and Arrays 12 1.4.2 Pointers and Copy Constructors 14 1.4.3 Pointers and destructors 16 1.4.4 Pointers and reference variables 17 1.4.5 Pointers to functions 20 1.5 Polymorphism 21 1.6 C++ and Object-Oriented Programming 23 1.7 The Standard Template Library 24 1.7.1 Containers 24 1.7.2 Iterators 25 1.7.3 Algorithms 25 1.7.4 Function Objects 26 8 Vectors in the Standard Template Library 28 1.9 Data Structures and Object-Oriented Programming 35 1.10 Case Study: Random Access File 35 1. 1 1 Exercises 46 1.12 Programming Assignments 48 Bibliography 50 Eai, copyright 2012 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s) torial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Contents 2 COMPLEXITY ANALYSIS 51 2.1 Computational and Asymptotic Complexity 51 2.2 Big-O Notation 52 2.3 Properties of Big-O Notation 54 2.4 Q and o Notations 56 2.5 Possible problems 57 2.6 Examples of complexities 57 2.7 Finding asymptotic Complexity: Examples 59 2. 8 The Best, Average, and worst Cases 61 2.9 Amortized Complexity 64 2.10 NP-Completeness 68 2.11 Exercises 71 Bibliography 74 3 LINKED LISTS 3. 1 Singly Linked Lists 75 3.1.1 Insertion 81 3. 1.2 Deletion 83 3. 1.3 Search 89 3.2 Doubly Linked Lists 90 3.3 Circular lists 94 3.4 Skip Lists 96 3.5 Self-Organizing Lists 101 3.6 Sparse Tables 106 3.7 Lists in the Standard Template library 109 3.8 Concluding Remarks 113 3. 9 Case Study: A Library 114 3. 10 Exercises 125 3.11 Programming Assignments 127 Bibliography 130 Eai, copyright 2012 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s) torial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Contents■i 4 STACKS AND QUEUES 131 4.1 Stacks 131 4.2 Queues 139 4.3 Priority Queues 148 4.4 Stacks in the Standard Template library 149 4.5 Queues in the Standard Template Library 149 4.6 Priority Queues in the Standard Template Library 151 4.7 Deques in the Standard Template Library 153 4.8 Case Study: Exiting a Maze 158 4.9 Exercises 165 4.10 Programming Assignments 166 Bibliography 168 5 RECURSION 169 5.1 Recursive Definitions 169 5.2 Function Calls and recursion implementation 172 5.3 Anatomy of a recursive call 174 5.4 Tail recursion 177 5.5 Nontail Recursion 178 5.6 Indirect recursion 184 5.7 Nested Recursion 186 5.8 Excessive recursion 186 5.9 Backtracking 190 5.10 Concluding Remarks 197 5.11 Case Study: A Recursive Descent Interpreter 198 5.12 Exercises 207 5.13 Programming Assignments 210 Bibliography 213 6 BINARY TREES 214 6.1 Trees, Binary Trees, and Binary Search Trees 214 6.2 Implementing Binary Trees 219 6.3 Searching a Binary Search Tree 222 Eai, copyright 2012 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s) torial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it. Contents 6.4 Tree Traversal 224 6.4.1 Breadth-First Traversal 225 6.4.2 Depth-First Traversal 226 6.4.3 Stackless Depth-First Traversal 233 6.5 Insertion 240 6.6 Deletion 243 6.6.1 Deletion by Merging 244 6.6.2 Deletion by Copying 246 6.7 Balancing a Tree 250 6.7.1 The dsw algorithm 253 6.7. 2 AVL Trees 256 6.8 Self-Adjusting Trees 261 6.8.1 Self-Restructuring Trees 262 6.8.2 Splaying 263 6.9 Heaps 268 6.9.1 Heaps as Priority Queues 270 6.9.2 Organizing Arrays as Heaps 271 6.10 Treaps 276 6.11 K-d trees 280 6. 12 Polish Notation and Expression Trees 286 6. 12. 1 Operations on Expression Trees 287 6.13 Case Study: Computing Word Frequencies 290 6.14 Exercises 298 6.15 Programming Assignments 302 Bibliography 306 7 MULTIWAY TREES 309 7.1 The Family of B-Trees 310 7.1.1B- Trees311 7.1.2 B-Trees 321 7.1.3B+- Trees323 7. 1.4 Prefix B+-Trees 326 7. 1.5 K-d B-trees 327 7. 1. 6 Bit-Trees 334 7.1.7R- Trees336 7.1.82-4 Trees337 7. 1.9 Sets and Multisets in the Standard Template Library 353 7.1.10 Maps and Multimaps in the Standard Template Library 359 Eai, copyright 2012 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s) torial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.

-
2018-09-19
-
zaixiankaifa: 代码有问题, 在第3章3-1的代码里面, deleteFromTail()函数里面, tail=head,tal->next=0;逻辑错误,中英文版我都对照过了,英文版同样是这个问题.
2018-02-05
-
2017-10-14
-
2017-10-05
-
2017-03-31
-
2017-01-10
-
2016-11-22
-
2016-11-04
-
2016-10-13
-
2016-04-25
55KB
数据结构与算法Java语言版第二版Adam Drozdek
2014-04-06本代码是Adam Drozdek所著《数据结构与算法Java语言版》第二版的所有源代码,欢迎各位下载调试。
8.97MB
c++数据结构与算法第四版
2018-04-03c++数据结构与算法第四版英文版,by Adam Drozdek。一本权威实用的数据结构与算法参考书。
50.0MB
C++数据结构与算法_第4版_Adam Drozdek_2014.part2.rar
2016-07-20带书签、扫描版。这本《C++数据结构与算法(第4版)》全面系统地介绍了数据结构,并以C++语言实现相关的算法。 主要强调了数据结构和算法之间的联系,使用面向对象的方法介绍数据结构,其内容包括算法的复杂
52KB
《数据结构与算法C++版》(Data Structures and Algorithms in C++ Second Edition Adam Drozdek)第2版-源代码
2009-12-30《数据结构与算法C++版》(Data Structures and Algorithms in C++ Second Edition Adam Drozdek)第2版
21.35MB
Data Structures and Algorithms in CPP Drozdek 4 edition
2014-02-02Adam Drozdek的<数据结构与算法C++版>第四版英文版教材
12.4MB
Data Structures and Algorithms in C++ 4th Edition Adam Drozdek
2014-08-07Contents 1 Object-Oriented Programming Using C++ 1 1.1 Abstract Data Types 1 1.2 Encapsulation 1 1.3
173KB
栈和队列:迷宫、回文判断.docx
2020-04-28数据结构与算法(c++)课程程序设计大作业,所用书籍:C++数据结构与算法(第4版)Adam Drozdek著 清华大学出版社。栈和队列:迷宫、回文判断。数据结构与算法(c++)课程程序设计大作业,所
3.77MB
Data structures and Algorithms in Java
2019-03-18数据结构和算法 Adam Drozdek Fundamental data structures in a consistent object-oriented framework
6KB
C++ 从初学到深入学习的几十本书籍
2017-09-05这些全是C++非扫描版的书籍,想要认真学习C++的朋友不要错过,资源太多是我的百度云l链接 ======== THE LIST ======== Accelerated C++ - Practical
18.75MB
C++程序设计
2017-05-19C++学习资源的完整版,是所有编程语言的基础,讲述清晰,有系统的知识体系
Python基础入门
2020-06-05【为什么学Python?】 Python 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜中 ,Python名列第一,并且其流行度依然处在上升势头。 借此机会,裴老师联合CSDN推出了本课程,希望能影响更多的人走进Python,踏入编程的大门。 【你将收获什么?】 · 本课程就是为开发者抓住“新基建”这个历史机遇而设置的。认真地学完了本课程,你就有了一把钥匙,所谓“时势造英雄”,Python语言就是未来成长的垫脚石。 · 从核心基础概念到常见第三方模块,包括数据结构、逻辑运算、常见语句、函数、类及第三方模块,丰富的案例帮助学员快速入门Python。 · “授人以鱼”和“授人以渔”并重是本课程的特色。通过在本课程的学习,学员能够以Python语言为载体,掌握研习高级编程语言的一般方法,为后续个人发展奠定基础。 [知识脉络图]
Java学习指南(Java入门与进阶)
2017-08-09这是Java学习指南系列课程的第1篇,介绍Java语言的入门语法,引领希望学习Java语言编程的初学者进入Java大门。 本课程不需要其他语言作为基础,可以直接学习。 课程从Java开发平台的下载和安装开始,从浅到深、从易到难,循序渐进地进行语法讲解。 为了让学员更好的掌握Java语言,本课程配套在线的Java题库及答案解析。 相比于其他语言,Java语言更科学、更容易掌握,快来和大家一起学习Java吧。
JAVA入门精品课程
2018-12-20课程目标: 1、让初学者从小白开始,善于运用知识点,解脱学习的苦恼 2、能够学习更多的工作中使用技巧,成为编程高手
Java系列技术之JavaWeb入门
2018-09-18JavaWeb里的基础核心技术
人脸识别项目实战特训营
2020-07-06人脸识别的技术及业务已经广泛应用于各行各业,如住宅安全管理、电子身份证护照、公安、司法和刑侦、自助服务、信息安全等。本训练营连续4天的时间,通过Opencv来采集需要识别的人脸数据库,并建立相关的ID信息标签,利用开源数据集,通过MTCNN模型、FaceNet模型的学习,编写人脸识别程序,并实现整个项目。
276KB
支付宝即时到账系统java程序开发包
2009-03-03支付宝即时到账系统java程序开发包 Date Now_Date=new Date(); String paygateway = "https://www.alipay.com/cooperate/g
Mysql数据库基础入门视频教程
2018-10-24Mysql数据库基础入门视频课程:属于零基础Mysql数据库教程,从数据库的基本专业术语介绍到数据库软件的下载使用 一步一步带你安装MySql。SQL阶段你将学会如果使用数据定义语言DDL,数据操作语言DML,数据查询语言DQL 在学会各中查询语句之后,会带你学习数据的完整性, 掌握如果正确的向数据库中添加数据 以上掌握技能之后,将会带你学习如何进行多表操作,关系的建立,各种连接查询等. 常用函数,事务的学习,您将学到什么是事务的提交,回滚,并发操作及脏读,幻读. 最后视图,存储过程,索引的学习,将会带你掌握更高级的数据库技术.
反编译Android应用
2015-01-26学习技术的渠道多种多样,而通过反编译一些经典应用来学习是一种比较好的途径,在Android领域,有比较好的反编译工具,本课程将会教大家如何反编译Android应用。
4KB
京东抢购商品秒杀脚本.txt
2019-11-29这是一篇关于京东秒杀的脚本,复制在控制台即可使用,操作简单,只需要修改两处的时间,精确到秒,回车即可
6.41MB
美赛2019年C题优秀论文原文和中文翻译
2020-03-02内含6片MCM2019年C题优秀论文原文和保留原格式的中文翻译 例 近年来,过量服用已成为美国意外死亡的主要原因,处方类阿片和海洛因是该 类别中最重的违法者。尽管许多人需要阿片类药物来控制其慢性和严重
717KB
Python从菜鸟到大神的100道经典练习题
2018-03-03说到好用简洁的大数据技术,除了Hadoop、R等等,Python也是其中熠熠生辉的一员,因而广受企业和商家的青睐。求职季,不少应聘者在面试相关职业时都被要求掌握Python的用法。以下,大圣众包威客平
-
学院
hadoop自动化运维工具Ambari应用实践
hadoop自动化运维工具Ambari应用实践
-
学院
Unity游戏开发之数字华容道
Unity游戏开发之数字华容道
-
博客
return
return
-
学院
Appium自动化测试套餐
Appium自动化测试套餐
-
博客
Rust 循环
Rust 循环
-
博客
IDEA搜索插件时显示search results are not loaded check the internet connection
IDEA搜索插件时显示search results are not loaded check the internet connection
-
博客
2021-01-23
2021-01-23
-
学院
大数据Hive on MR/TEZ与hadoop的整合应用
大数据Hive on MR/TEZ与hadoop的整合应用
-
下载
DesignPatterns-master.zip
DesignPatterns-master.zip
-
学院
阿里云云计算ACP考试必备教程
阿里云云计算ACP考试必备教程
-
博客
Promise对象调用
Promise对象调用
-
下载
用于单片机的进制转换
用于单片机的进制转换
-
学院
三维地图GIS大数据可视化
三维地图GIS大数据可视化
-
博客
机器学习实战之KNN算法实战详解:手写数字识别系统
机器学习实战之KNN算法实战详解:手写数字识别系统
-
博客
手机摄像头改装到顶部或底部 是怎么实现的呢?教程讲解
手机摄像头改装到顶部或底部 是怎么实现的呢?教程讲解
-
学院
21年新消息队列RabbitMQ视频教程AMQP教程
21年新消息队列RabbitMQ视频教程AMQP教程
-
博客
sum
sum
-
下载
演示-Robust Multi-Modality Multi-Object Tracking.pptx
演示-Robust Multi-Modality Multi-Object Tracking.pptx
-
博客
ES6总结(一):let、const与var
ES6总结(一):let、const与var
-
博客
WordPress某易云音乐插件,WordPress主题在线音乐歌单插件
WordPress某易云音乐插件,WordPress主题在线音乐歌单插件
-
博客
Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus
Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus
-
学院
JavaEE框架(Maven+SSM)全程实战开发教程(源码+讲义)
JavaEE框架(Maven+SSM)全程实战开发教程(源码+讲义)
-
博客
java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener解决方案
java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener解决方案
-
学院
电商设计专业思维
电商设计专业思维
-
博客
swiper轮播(中间大两边小滚动有过渡效果)
swiper轮播(中间大两边小滚动有过渡效果)
-
下载
GJB150.27-2009第27部分:爆炸分离冲击试验.pdf
GJB150.27-2009第27部分:爆炸分离冲击试验.pdf
-
下载
install.zip
install.zip
-
学院
商业的本质——杰克·韦尔奇著
商业的本质——杰克·韦尔奇著
-
下载
Automatic Assessment of Hoarding Clutter from Images Using CNN
Automatic Assessment of Hoarding Clutter from Images Using CNN
-
下载
JDBCUtils.zip
JDBCUtils.zip