数据结构简明教程(第2版)-微课版
作者:李春葆、蒋林、方颖、喻丹丹、曾平
出版社:清华大学出版社
ISBN:9787302516309
VIP会员免费
(仅需0.8元/天)
¥ 32.18
温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!
电子书推荐
-
数据结构与算法分析:Java语言描述(原书第3版)完整中文版 带详细书[[美]Mark Allen Weiss] pdf 评分:
国际著名计算机教育专家Weiss数据结构与算法Java描述经典教材新版,把算法分析与高效率的Java程序的开发有机地结合起来,深入分析每种算法。 本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具,讨论数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。 随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长。本书将算法分析与*有效率的Java程序的开发有机结合起来,深入分析每种算法,并细致讲解精心构造程序的方法,内容全面,缜密严格。 第3版的主要更新如下: 第4章包含AVL树删除算法的实现。 第5章进行了全面修订和扩充,现在包含两种较新的算法——布谷鸟散列和跳房子散列。 第7章包含基数排序的相关内容,并给出了下界证明。 第12章增加了后缀树和后缀数组的相关材料,包括Karkkainen和Sanders的线性时间后缀数组构造算法。 更新书中的代码,使用了Java 7中的菱形运算符。 本书目标本书新的Java版论述数据结构——组织大量数据的方法,以及算法分析——算法运行时间的估计。随着计算机的速度越来越快,对于能够处理大量输入数据的程序的需求变得日益迫切。可是,由于在输入量很大的时候程序的低效率变得非常明显,因此这又要求对效率问题给予更仔细的关注。通过在实际编程之前对算法的分析,我们可以确定某个特定的解法是否可行。例如,查阅本书中一些特定的问题,可以看到我们如何通过巧妙的实现,将其处理大量数据的时间限制从几个世纪减至不到1秒。因此,我们在提出所有算法和数据结构时都会阐释其运行时间。在某些情况下,对于影响实现的运行时间的一些微小细节都需要认真探究。 一旦确定了解法,接着就要编写程序。随着计算机功能的日益强大,它们必须解决的问题也变得更加庞大和复杂,这就要求我们开发更加复杂的程序。本书的目的是同时教授学生良好的程序设计技巧和算法分析能力,使得他们能够以最高的效率开发出这种程序。 本书适用于高级数据结构(CS7)课程或是第一年研究生的算法分析课程。学生应该掌握一些中级编程知识,包括基于对象的程序设计和递归等内容,并具备一些离散数学的背景。 第3版中最显著的变化第3版订正了大量的错误,也修改了很多地方,以使内容更加清晰。此外还有以下修订: ●第4章包括了AVL树的删除算法——这也是读者经常需要的内容。 ●第5章进行了大量修改和扩充,现在包含两种新算法:布谷鸟散列(cuckoohashing)和跳房子散列(hopscotchhashing)。此外还增加了一节讨论通用散列法。 ●第7章现在包含了基数排序的内容,并且增加了一节讨论下界的证明。 ●第8章用到Seidel和Sharir提出的新的并查集分析,并且证明了O(Mα(M,N))界,而不是前一版中比较弱的O(Mlog*N)界。 ●第12章增加了后缀树和后缀数组的内容,包括Karkkainen和Sanders提出的构造后缀数组的线性时间算法(附带实现)。关于确定性跳跃表和AA树的章节被删除。 ●通篇代码已做更新,使用了Java7的菱形运算符。 处理方法虽然本书的内容大部分都与语言无关,但是,程序设计还是需要使用某种特定的语言。正如书名所示,我们为本书选择了Java。 人们常常将Java和C++比较。Java具有许多优点,程序员常常把Java看成是一种比C++更安全、更具有可移植性并且更容易使用的语言。因此,这使得它成为讨论和实现基础数据结构的一种优秀的核心语言。Java的其他重要的方面,诸如线程和GUI(图形用户界面),虽然很重要,但是本书并不需要,因此也就不再讨论。 完整的Java和C++版数据结构均在互联网上提供。我们采用相似的编码约定以使得这两种语言之间的对等性更加明显。 内容概述第1章包含离散数学和递归的一些复习材料。我相信熟练掌握递归的唯一办法是反复不断地研读一些好的用法。因此,除第5章外,递归遍及本书每一章的例子之中。第1章还介绍了一些相关内容,作为对Java中“继承”的复习,包括对Java泛型的讨论。 第2章讨论算法分析,阐述渐近分析及其主要缺点,提供了许多例子,包括对对数级运行时间的深入分析。我们通过直观地把递归程序转变成迭代程序,对一些简单递归程序进行了分析。更复杂的分治程序也在此介绍,不过有些分析(求解递推关系)要推迟到第7章再进行详细讨论。 第3章介绍表、栈和队列。包括对CollectionsAPIArrayList类和LinkedList类的讨论,提供了CollectionsAPIArrayList类和LinkedList类的一个重要子集的若干实现。 .第4章讨论树,重点是查找树,包括外部查找树(B-树)。UNIX文件系统和表达式树是作为例子来介绍的。这一章还介绍了AVL树和伸展树。查找树实现细节的更仔细的处理可在第12章找到。树的另外一些内容(如文件压缩和博弈树)推迟到第10章讨论。外部介质上的数据结构作为若干章中的最后论题来考虑。对于CollectionsAPITreeSet类和TreeMap类的讨论,则通过一个重要的例子来展示三种单独的映射在求解同一个问题中的使用。 第5章讨论散列表,既包括经典算法,如分离链接法和线性及平方探测法,同时也包括几个新算法,如布谷鸟散列和跳房子散列。本章还讨论了通用散列法,并且在章末讨论了可扩散列。 第6章是关于优先队列的。二叉堆也在这里讲授,还有些附加的材料论述优先队列某些理论上有趣的实现方法。斐波那契堆在第11章讨论,配对堆在第12章讨论。 第7章论述排序。这一章特别关注编程细节和分析。所有重要的通用排序算法均在该章进行了讨论和比较。此外,还对四种排序算法做了详细的分析,它们是插入排序、希尔排序、堆排序以及快速排序。这一版新增的是基数排序以及对选择类问题的下界的证明。本章末尾讨论了外部排序。 第8章讨论不相交集算法并证明其运行时间。分析部分是新的。这是简短且特殊的一章,如果不讨论Kruskal算法则可跳过该章。 第9章讲授图论算法。图论算法之所以有趣,不仅因为它们在实践中经常出现,而且还因为它们的运行时间强烈地依赖于数据结构的恰当使用。实际上,所有标准算法都和适用的数据结构、伪代码以及运行时间的分析一起介绍。为了恰当地理解这些问题,我们对复杂性理论(包括NP-完全性和不可判定性)进行了简短的讨论。 第10章通过考察一般性的问题求解技术来介绍算法设计。本章通过大量的例子来增强理解。这一章及后面各章使用的伪代码使得读者在理解例子时不会被实现的细节所困扰。 第11章处理摊还分析,主要分析三种数据结构,它们分别在第4章、第6章以及本章(斐波那契堆)介绍。 第12章讨论查找树算法、后缀树和数组、k-d树和配对堆。不同于其他各章,本章给出了查找树和配对堆完整且仔细的实现。材料的安排使得教师可以把一些内容纳入其他各章的讨论之中。例如,第12章中的自顶向下红黑树可以和(第4章的)AVL树一起讨论。 第1~9章为大多数一学期的数据结构课程提供了足够的材料。如果时间允许,那么第10章也可以包括进来。研究生的算法分析课程可以使用第7~11章的内容。第11章所分析的高级数据结构可以很容易地被前面各章所提及。第9章里所讨论的NP-完全性太过简短,不适用于这样的课程。另外再用一部NP-完全性方面的著作作为本教材的补充可能是比较有益的。 练习每章末尾提供的练习与正文中所述内容的顺序相一致。最后的一些练习是对应整章而不是针对特定的某一节的。难度较大的练习标有一个星号,更具挑战的练习标有两个星号。 参考文献参考文献列于每章的最后。通常,这些参考文献或者是具有历史意义的、给出书中材料的原始出处,或者阐述对书中给出的结果的扩展和改进。有些文献为一些练习提供了解法。 补充材料下面的补充材料在www.pearsonhighered.com/cssupport对所有读者公开: ●例子程序的源代码此外,下述材料仅提供给经培生教师资源中心(Pearson’sInstructorResourceCenter,IRC)(www.pearsonhighered.com/irc)认可的教师。有意者请访问IRC或联系培生的校园代表以获得访问权限。关于本书教辅资源,用书教师可向培生教育出版集团北京代表处申请,电话:010-57355169/57355171,电子邮件:service.cn@pearson.com。——编辑注●部分练习的解答●来自本书的一些附图致谢在本书的准备过程中,我得到了许多人的帮助,有些已在本书的其他版本中列出,感谢大家。 一如既往地,培生的专家们的努力使得本书的写作过程更加轻松。我愿在此感谢我的编辑MichaelHirsch以及制作编辑PatBrown。我还要感谢AbinayaRajendran和她在IntegraSoftwareServices的同事,感谢他们使最后的散稿成书的出色工作。贤妻Jill所做的每一件事情都值得我特别感谢。 最后,我还想感谢发来E-mail并指出前面各版中错误和矛盾之处的广大读者。我的网页www.cis.fiu.edu/~weiss包含更新后的源代码(用Java和C++编写)、勘误表以及提交问题报告的链接。 M.A.W.佛罗里达州迈阿密市
上传时间:2018-01 大小:47.54MB
- 130KB
算法与数据结构.pdf
2022-07-11Houfeng Wang, ICL of PKU 1 ¸ª ¤º˚ Æ £"˝ı"æ ˜£"¸ª ¤º˚ Æ ——CˆŁ˚£¤¯˜¸—¢£' ¨ ˛£" (1) ˚ Æ £¤—¿¨"£' (2) ˚ Æ º¸ª ¤ ˛£¤ C++£' ¯ˆœ£ `ıˇ ¨º Houfeng Wang, ICL of PKU 2 1. »ø– ¯˜ ˛˚˙ ˚ Æ ¸ª ¤ Øˇ˚—˝ Houfeng Wang, ICL of PKU 3 1. »ø– ¯˜ ¾˛˚˙ ˚ Æ ¸ª ¤ Øˇ˚—˝ Houfeng Wang, ICL of PKU 4 ˛˚˙ ¶¤£"ˆ…˘¸ª»œ ˚…˚˛˚£" – ¨"˛–˚"·ƒ˜˚£¤˚ Æ ˛˚£'£» – ¨"˛·ƒ˚˚£¤¸ª ¤˛˚£'£» ˛˚˙ Ł£" – ˛£"ˆ¨ ˛˚˜˜ ˇ£» – Ł…˘£"Ł…˘˚ Æ º¸ª ¤£¤–¿˛˜¨£' – –´º£"¡æ˚˚–˜ —Ł…˘–—· — – ˚ +˛ » £"¡»¶¤˜˚¨º£ ˚˚˙ æ¨ Houfeng Wang, ICL of PKU 5 »˝¤˛˚ Houfeng Wang, ICL of
- 20.17MB
数据结构与算法经典问题解析 Java语言描述
2017-09-12数据结构与算法经典问题解析 Java语言描述数据结构与算法经典问题解析 Java语言描述数据结构与算法经典问题解析 Java语言描述数据结构与算法经典问题解析 Java语言描述数据结构与算法经典问题解析 Java语言描述数据结构与算法经典问题解析 Java语言描述
- 63.38MB
数据结构与算法分析(java语言描述)中文第二版以及习题答案
2019-06-21数据结构与算法分析(java语言描述)中文第二版 以及习题答案(英文的) 数据结构与算法(java语言描述)中文第二版 以上3本书都在,给学习数据结构的java开发人员学习。
- 1.63MB
Mark Allen Weiss的资料集
2008-06-07Mark Allen Weiss的资料集,跟作者发邮件要来得!
- 263KB
《数据结构与算法分析 C语言描述》Mark Allen Weiss著 源代码 和 习题解答
2014-04-28程序员基础资源
- 10.34MB
数据结构与算法分析_java语言描述_Mark_Allen_Weiss著_课后习题答案.pdf
2021-07-14数据结构与算法分析_java语言描述_Mark_Allen_Weiss著_课后习题答案.pdf
- 26.82MB
数据结构与算法分析–C++描述(第3版,WEISS著,含习题答案)
2013-06-12数据结构与算法分析–C++描述(第3版,WEISS著)
- 6.28MB
数值计算方法习题精析(黄云清)
2018-03-21作者黄云清,数值计算方法课后习题,内容涉及数值计算方法的数学基础、数值计算方法在工程、科学和数学问题中的应用以及所有数值方法的MATLAB 程序等,涵盖了经典数值分析的全部内容。包括:非线性方程的数值解法;线性方程组的数值解法;矩阵特征值与特征向量的数值算法;插值方法;函数最佳逼近;数值积分;数值微分;常微分方程数值解法等。基于MATLAB是本书的特色,对书中所有的数值方法都给出了MATLAB程序,有大量详实的应用实例可供参考,有相当数量的习题可供练习
- 71.65MB
上海大学《829信号系统与电子线路》历年真题
2019-04-26上海大学《829信号系统与电子线路》历年真题。适用于报考上海大学通信与信息系统、信号与信息处理、电路与系统学硕专业的同学。
- 26.20MB
宗成庆NLP——讲课录像,课件,第二版教材,课程作业,期末题,哥大NLP实战代码大集合
2018-01-09内包含宗成庆讲课录像,课件,第二版教材,课程作业,期末题,哥伦比亚大学NLP实战代码
- 5.82MB
kriging 克里金插值和PPT
2016-07-27kriging(克里金方法 克里金插值)
- 11.94MB
微积分学教程.第二卷.pdf
2007-10-09微积分学教程.第二卷.pdf,本资源来自网络,仅供个人学习之用
- 21.75MB
snort2.9规则库
2013-09-24snort的规则库,snortrules-snapshot-2946.tar
- 398KB
国科大 自然语言处理 试题
2018-07-05中国科学院大学自然语言处理 宗老师 题目,希望对大家有用!
- 1.38MB
简单超市管理系统功能及数据库设计(含数据库文件及解决方案)
2009-03-13一般的资源都不包含具体的功能设计图标及数据库文件,对下载的用户作用不大。这里上次的资料是本人及队友一起研究出来的结果,里面详细分析了整个项目的设计流程和功能设计。附加的数据库文件供大家参考。如果想增加系统功能。直接加表即可。
- 7.22MB
ansoft designer 学习资料
2018-04-08培训
- 2.57MB
BBS论坛回帖、发帖及不同的展现 源代码
2011-08-08有BBS论坛的发帖,回帖功能,以及帖子的不同形式的展现。还有管理员删帖,修改帖的功能。
- 55B
软件架构师视频2018年(百度网盘)
2018-11-14系统架构设计师视频 第01章_考试简介.rar 第02章_信息系统基础.rar 第03章_系统开发基础.rar 第04章_操作系统.rar 第05章_数据库系统.rar 第06章_计算机网络.rar 第07章_软件架构设计.rar 第08章_基于构件的开发.rar 第09章_应用数学.rar 第10章_系统安全性与保密性设计.rar 第11章_系统配置与性能评价.rar 第12章_知识产权与标准化.rar 第13章_多媒体基础知识.rar 第14章_嵌入式系统.rar 第15章_开发管理.rar 第16章_系统架构设计案例分析.rar 第17章_系统架构设计论文.rar
- 1.94MB
数据结构与算法之美
2018-11-21数据结构与算法之美
- 116B
数据结构与算法视频教程.txt
2019-09-07数据结构与算法视频教程.txt 网盘永久链接 为方便数据结构 算法 学习爱好者而上传
- 116.60MB
数据结构和算法4.6.pdf
2021-08-13数据结构和算法4.6.pdf
- 597KB
数据结构与算法大全.电子书
2015-08-05关于数学建模中各类算法的应用与讲解,书中包含各种算法的代码
- 141.71MB
数据结构和算法PDF文档
2023-06-021000多页的算法题解,包含数据结构,排序,查找,递归,回溯算法,二叉树,动态规划,贪心算法,双指针,滑动窗口,前缀和等。
- 17.3MB
数据结构与算法分析--java语言描述.pdf
2021-09-14数据结构与算法分析--java语言描述.pdf
- 1.96MB
MarkAllenWeiss数据结构与算法分析c++语言描述答案
2018-09-04MarkAllenWeiss数据结构与算法分析c++语言描述答案,第三版答案
- 16.39MB
基于spring boot的小区物业管理系统源码+论文+答辩ppt
2023-03-12小区物业管理系统是在Java + MySQL开发环境的基础上开发的。Java是一种服务器端脚本语言,易于学习,实用且面向用户。全球超过35%的Java驱动的互联网站点使用Java。MySQL是一个数据库管理系统,因为它的体积小但速度快,成本低,或者开源受到中小型网站的青睐。因此,Java + MySQL作为一个成熟的开发环境,可以满足小区物业管理系统设计和开发所需的稳定性,安全性和可扩展性要求。系统管理也都将通过计算机进行整体智能化操作,对于小区物业管理系统所牵扯的管理及数据保存都是非常多的,例如管理员;首页、个人中心、用户管理、员工管理、业主信息管理、费用信息管理、楼房信息管理、报修信息管理、车位信息管理、停车信息管理、投诉编号管理、公告信息管理、部门信息管理,用户;首页、个人中心、业主信息管理、费用信息管理、楼房信息管理、报修信息管理、车位信息管理、停车信息管理、投诉编号管理、公告信息管理,员工;首页、个人中心、楼房信息管理、报修信息管理、投诉编号管理、公告信息管理、部门信息管理等功能
- 535.74MB
STM32CubeMX安装包(版本:6.9.0) 附带 Java安装包(版本:371) - -2023年7月14日
2023-07-13本资源包含:6.9.0版本的CubeMX安装包 以及 必要的Java环境安装包,具体的安装方法可在我的主页查看CubeMX安装教程篇章。
- 164.91MB
最新Java JDK 8安装版(Windows 64位)
2021-02-26资源内容直接来自官网,没有添加任何其它额外内容;旨在便捷地获取最新版的Java API(避免因地域原因被限制访问,因网络原因无法稳定有效下载等情况)
- 37.77MB
自主研发的软著申请代码文档整理输出工具
2022-03-20可在软著申请时使用的代码文档整理输出工具,可选择多个特定目录,设置多类型文件,指定选择生成代码文档,可操作性很好,并且在生成word代码文档时,过滤了所有空白行和注释,过滤的注释类型涵盖mysql、java、php、python、js、html、node、vue等所有大类语言。 软件环境:win10、win7、win8、win xp 更新日志: 2022年6月1日:更新了动态进度展示,无响应超时等bug,修复了文档行数超过3500行的bug 2022年4月15日 对exe文件进行了兼容性和常见问题解决办法的更新。 2022年4月17日 增加了win7、win8、winxp低版本的兼容版本 2022年4月29日 增加了asci编码的解决方法,更新了exe的兼容性,增加了最新的0.6版本