数据结构简明教程(第2版)-微课版
作者:李春葆、蒋林、方颖、喻丹丹、曾平
出版社:清华大学出版社
ISBN:9787302516309
VIP会员免费
(仅需0.8元/天)
¥ 32.18
温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!
电子书推荐
-
数据结构与算法分析(英文C版)高清 pdf 评分:
内容简介 《数据结构与算法分析:C语言描述》曾被评为20世纪顶尖的30部计算机著作之一,作者在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评,已被世界500余所大学选作教材。 在《数据结构与算法分析:C语言描述》中,作者精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。 《数据结构与算法分析:C语言描述》特色:着重讨论了算法设计技巧,包括贪婪算法、分治算法、动态规划、随机化算法以及回溯算法。系统介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和伸展树。详细讨论了摊还分析,考查书中介绍的一些高级数据结构。增加了高级数据结构及其实现的内容,包括红黑树、自顶向下伸展树、treap树、k-d树、配对堆等。整合了堆排序平均情况分析的一些新结果。 作者简介 Mark Allen Weiss 1987年在普林斯顿大学获得计算机科学博士学位。师 从Roberl Sedgewick,现任美国佛罗里达国际大学计算与信息科学学院教授。他曾担任全美AP(Advanced Placement)考试计算机学科委员会主席。其主要研究方向是数据结构、算法和教育学。 目录 Introduction 1 1.1. Whats the Book About? 1 1.2. Mathematics Review 3 1.2.1. Exponents 3 1.2.2. Logarithms 3 1.2.3. Series 4 1.2.4. Modular Arithmetic 5 1.2.5. The P Word 6 1.3. A Brief Introduction to Recursion Summary 12 Exercises 12 References 13 2 Algorithm Analysis 15 2.1. Mathematical Background 15 2.2. Model 18 2.3. What to Analyze 18 2.4. Running Tune Calculations 20 2.4.1. A Simple Example 21 2.4.2. General Rules 21 2.4.3. Solutions for the Maximum Subsequence Sum Problem 24 2.4.4. Logarithms in the Running Tune 28 2.4.5. Checking Your Analysis 33 2.4.6. A Grain of Salt 33 Summary 34 Exercises 35 References 39 3 Lists, Stacks, and Queues 41 3.1. Abstract Data Types (AnTs) 41 3.2. The List ADT 42 3.2.1. Simple Array Implementation of Lists 43 3.2.2. Linked Lists 43 3.2.3. Programming Details 44 3.2.4. Common Errors 49 3.2.5. Doubly Linked Lists 51 3.2.6. Circularly Unked Lists 52 3.2.7. Examples 52 3.2.8. Cursor Implementation of Linked Lists 57 3.3. The Stack ADT 62 3.3.1. Stack Model 62 3.3.2. Implementation of Stacks 63 3.3.3. Applications 71 3.4. The Queue ADT 79 3.4.1. Queue Model 79 3.4.2. Array Implementation of Queues 79 3.4.3. Applications of Queues 84 Summary 85 Exercises 85 4 Trees 89 4.1. Preliminaries 89 4.1.1. Implementation of Trees 90 4.1.2. Tree Traversals with an Application 91 4.2. Binary Trees 95 4.2.1. Implementation 96 4.2.2. Expression Trees 97 4.3. The Search Tree ADT-Binary Search Trees 100 4.3.1. MakeEmpty 101 4.3.2. Find 101 4.3.3. FindMin and FindMax 103 4.3.4. Insert 104 4.3.5. Delete 105 4.3.6. Average-Case Analysis 107 4.4. AvI Trees 110 4.4.1. Single Rotation 112 4.4.2. Double Rotation 115 4.5. Splay Trees 123 4.5.1. A Simple Idea (That Does Not Work) 124 4.5.2. Splaying 126 4.6. Tree Traversals (Revisited) 132 4.7. B-Trees 133 Summary 138 Exercises 139 References 146 5 Hashing 149 5.1. General Idea 149 5.2. Hash Function 150 5.3. Separate Chaining 152 5.4. Open Addressing 157 5.4.1. Linear Probing 157 5.4.2. Quadratic Probing 160 5.4.3. Double Hashing 164 5.5. Rehashing 165 5.6. Extendible Hashing 168 Summary 171 Exercises 172 References 175 6 Priority Queues (Heaps) 177 6.1. Model 177 6.2. Simple Implementations 178 6.3. Binary Heap 179 6.3.1. Strocture Property 179 6.3.2. Heap Order Property 180 6.3.3. Basic Heap Operations 182 6.3.4. Other Heap Operations 186 6.4. Applications of Priority Queues 189 6.4.1. The Selection Problem 189 6.4.2. Event Simulation 191 6.5. d-Heaps 192 6.6. Leftist Heaps 193 6.6.1. Leftist Heap Properly 193 6.6.2. Leftist Heap Operations 194 6.7. Skew Heaps 200 6.8. Binomial Queues 202 6.8.1. Binomial Queue Structure 202 6.8.2. Binomial Queue Operations 204 6.8.3. Implementation of Binomial Queues 205 Summary 212 Exercises 212 References 216 7 Sorting 219 7.1. Preliminaries 219 7.2. Insertion Sort 220 7.2.1. The Algorithm 220 7.2.2. Analysis of Insertion Sort 221 7.3. A Lower Bound for Simple Sorting Algorithms 221 7.4. SheUsort 222 7.4.1. Worst-Case Analysis of Shellsort 224 7.5. Heapsort 226 7.5.1. Analysis of Heapsort 228 7.6. Mergesort 230 7.6.1. Analysis of Mergesort 232 7.7. Quicksort 235 7.7.1. Picking the Pivot 236 7.7.2. Partitioning Strategy 237 7.7.3. Small Arrays 240 7.7.4. Actual Quicksort Routines 240 7.7.5. Analysis of Quicksort 241 7.7.6. A Linear-Expected-Time Algorithm for Selection 245 7.8. Sorting Large Structures 247 7.9. A General Lower Bound for Sorting 247 7.9.1. Decision Trees 247 7.10. Bucket Sort 250 7.11. External Sorting 250 7.11.1. Why We Need New Algorithms 251 7.11.2. Model for External Sorting 251 …… 8 The Disjoint Set ADT 9 Graph Algorithms 10 Algorithm Design Techniques 11 Amortized Analysis 12 Advanced Data Structures and Implementation 收起全部 前言 This book describes data structures, methods of organizing large amounts of data,and algorithm analysis, the estimation of the running time of algorithms. As com-puters become faster and faster, the need for programs that can handle large amountsof input becomes more acute. Paradoxically, this requires more careful attention toefficiency, since inefficiencies in programs become most obvious when input sizes arelarge. By analyzing an algorithm before it is actually coded, students can decide if aparticular solution will be feasible. For example, in this text students look at specificproblems and see how careful implementations can reduce the time constraint forlarge amounts of data from 16 years to less than a second. Therefore, no algorithmor data structure is presented without an explanation of its running time. In somecases, minute details that affect the running time of the implementation are explored. Once a solution method is determined, a program must still be written. Ascomputers have become more powerful, the problems they must solve have becomelarger and more complex, requiring development of more intricate programs. Thegoal of this text is to teach students good programming and algorithm analysis skillssimultaneously so that they can develop such programs with the maximum amountof efficiency. This book is suitable for either an advanced data structures (CS7) course ora first-year graduate course in algorithm analysis. Students should have some know-ledge of intermediate programming, including such topics as pointers and recursion,and some background in discrete math. 精彩书摘 This example illustrates what we call randomized algorithms. At least onceduring the algorithm, a random number is used to make a decision. The runningtime of the algorithm depends not only on the particular input, but also on therandom numbers that occur. The worst-case running time of a randomized algorithm is almost always thesame as the worst-case running time of the nonrandomized algorithm. The importantdifference is that a good randomized algorithm has no bad inputs, but only badrandom numbers (relative to the particular input). This may seem like only aphilosophical difference, but actually it is quite important, as the following exampleshows. Consider two variants of quicksort. Variant A uses the first element as pivot,while variant B uses a randomly chosen element as pivot. In both cases, the worst-case running time is (N2), because it is possible at each step that the largestelement is chosen as pivot. The difference between these worst cases is that there is aparticular input that can always be presented to variant A to cause the bad runningtime. Variant A will run in (N2) time every single time it is given an already-sortedlist. If variant B is presented with the same input twice, it will have two differentrunning times, depending on what random numbers occur.
上传时间:2013-07 大小:7.84MB
- 2.55MB
数据结构英文版
2014-10-20英文版的数据结构,比较容易理解,方便学习英语
- 2.55MB
数据结构英文版电子书
2013-10-12数据结构C++描述版,英文版。计算机专业基础课,一书两用,弄通后,数据结构以英文水平都会有提高。
- 5.27MB
数据结构(c++英文版)
2014-11-231)数据结构(c++英文版),Data structures using c++;里面对STL讲解的还是不错的,比普通的STL源码级的还好; 2)重点还是侧重在数据结构的描述,核心函数的代码实现也很不错。 3)很好的一本工具书。
- 8.91MB
数据结构课件(英文版)
2010-04-12数据结构,数据结构课件,教师用课件,英文教学
- 2.3MB
数据结构(英文版--难得的)
2008-01-12这是数据结构的英文版,有需要的朋友请进来看一下,希望对你的是有用的,也是经典的计算机书籍
- 14.98MB
《数据结构与算法分析C语言描述第二版》答案英文版(1).pdf
2022-01-01数据结构与算法分析C语言描述课后习题答案。现在CSDN什么都要积分,我吐了,一群叼毛。
- 57.5MB
数据结构与算法分析 C语言描述(原书第2版)课后习题参考答案
2021-01-02数据结构与算法分析 C语言描述(原书第2版)课后习题参考答案
- 4.94MB
《数据结构英文版课件》
2008-09-06数据结构英文版课件,数据结构英文版课件数据结构英文版课件
- 5.63MB
数据结构(英文版)很全面
2009-10-09这个是数据机构的英文版教材,很全面,主次分明,讲的很详细,希望可以帮助需要的人。
- 4.2MB
数据结构和算法分析 C++ 第四版
2017-08-11数据结构和算法分析 C++ 第四版
- 263KB
《数据结构与算法分析 C语言描述》Mark Allen Weiss著 源代码 和 习题解答
2014-04-28程序员基础资源
- 99.81MB
华科软件学院887考研初试复试资料
2018-03-30华科软件学院887考研初试复试资料,包括历年887数据结构考试试卷与答案,复试题型与面经,对考研很有帮助
- 219KB
数据结构与算法分析习题答案
2009-08-17数据结构与算法分析每章练习的答案 数据结构与算法分析每章练习的答案
- 8KB
Qt上位机软件串口通讯,视频源码,免费下载
2022-02-27Qt上位机软件串口通讯,视频源码,免费下载,视频上我的b站主页找https://space.bilibili.com/401094174
- 17.51MB
代码随想录算法PDF.rar
2021-08-06代码随想录算法PDF.rar
- 470KB
张玉生《C语言程序设计》双色版 C语言程序设计理论教材习题参考答案.pdf
2021-03-11张玉生《C语言程序设计》双色版 教材课后习题答案,仅供参考,大家一定要自己做一遍再校对答案,实验书的答案已经以文章的形式发布了。
- 16.68MB
cloud compare用户手册(中文+英文)
2019-05-06cloud compare用户手册官方英文版本和中文翻译版本(WPS翻译的260页),我之前都没有找到靠谱的帮助文档,自己找了半天,花了50块钱翻译的。希望能给大家提供帮助。
- 1KB
CRC8/CRC16/CRC32常见几个标准的算法及C语言实现
2019-03-15用表驱动法来实现CRC8、CRC16、CRC32的数据校验,程序简洁,通俗易懂
- 1.24MB
STM32F4 ADC采样FFT运算测试代码
2019-07-29模拟信号经过ADC采样后变成数字信号,数字信号可以进行FFT运算,在频域中更容易分析信号的特征。此代码用STM32F407的ADC-DMA模式采集4096个点的数据,利用DSP库里的FFT算法进行快速傅里叶变换,经实测可以使用。
- 190KB
第十二届蓝桥杯大赛模拟赛(第三期).pdf
2021-03-14蓝桥杯
- 36KB
Qt Qss三套样式文件 qss.zip
2020-10-19此文件为Qt Qss三套样式文件,下载后,在工程中引入使用即可。具体可参考博客: https://tangxing.blog.csdn.net/article/details/109160027
- 2.2MB
C++读取excel数据
2020-08-03读取环境为Win10+VS2015,个人参考资料封装的excel读取模块用来读取Excel2007中的数据,文件为压缩文件,亲测可用。
- 11KB
点云粗配准算法
2019-03-05写了几个点云配准的算法,主要包括PFH、FPFH、icp、NDT、3Dsc几种粗配准算法,并计算出误差。
- 688KB
2021csp-j初赛试题及答案.docx
2021-11-092021csp-j初赛试题及答案 全新整理
- 6.38MB
基于STM32F103+ADS1292的心率实时显示(串口助手),心电图波形
2020-10-12基于STM32F103+ADS1292的心率实时显示(串口助手),心电图波形(需要用到匿名上位机),采样频率为500hz,可实时显示心率。源代码有大量注解,通俗易懂.
- 27.50MB
C++语言程序设计第五版郑莉
2022-01-13C++语言程序设计第五版郑莉PPT与代码
- 10KB
点云完全配准算法比较
2019-03-05根据上次的点云粗配准,对点云进行完全配准,并且计算分析误差。主要包括NDT、3Dsc、FPFH、PFH几种算法比较。
- 118B
Halcon实战视频教程,超人视觉,初级和高级版视频,无密码高清
2020-02-09Halcon实战视频教程,超人视觉,初级和高级版视频,无密码高清Halcon实战视频教程,超人视觉,初级和高级版视频,无密码高清Halcon实战视频教程,超人视觉,初级和高级版视频,无密码高清Halcon实战视频教程,超人视觉,初级和高级版视频,无密码高清Halcon实战视频教程,超人视觉,初级和高级版视频,无密码高清
- 947.58MB
【C++】开发软件资料集.zip
2022-01-18【C++】开发所需的软件工具整理,供大家学习使用,希望大家有所帮助,望大家多多支持!视频地址:https://www.bilibili.com/video/BV1DN411R7r7?spm_id_from=333.999.0.0
- 1.16MB
通俗易懂的校园导航系统
2021-01-20提供图中任意建筑点的相关信息查询;提供图中多个建筑点的最佳访问路线查选;提供任意建筑点问路查询