数据结构与算法分析C语言描述原书第2版华章计算机科学丛书pdf下载pdf下载

数据结构与算法分析C语言描述原书第2版华章计算机科学丛书百度网盘pdf下载

作者:
简介:本篇主要提供数据结构与算法分析C语言描述原书第2版华章计算机科学丛书pdf下载
出版社:文轩网旗舰店
出版时间:2019-04
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

作  者:[美]马克·艾伦·维斯(MarkAllenWeiss) 著 冯舜玺 译 译
定  价:79
出 版 社:机械工业出版社
出版日期:2019年04月01日
页  数:412
装  帧:平装
ISBN:9787111621959
目录
出版者的话译者序前言章  引论┊11.1  本书讨论的内容┊21.2  数学知识复习┊31.2.1  指数┊31.2.2  对数┊31.2.3  级数┊41.2.4  模运算┊51.2.5  证明方法┊51.3  递归简论┊7总结┊10练习┊10参考文献┊11第2章  算法分析┊132.1  数学基础┊142.2  模型┊162.3  要分析的问题┊162.4  运行时间计算┊182.4.1  一个简单的例子┊182.4.2  一般法则┊192.4.3  大子序列和┊202.4.4  运行时间中的对数┊242.4.5  检验你的分析┊272.4.6  分析结果的准确性┊28总结┊28练习┊29参考文献┊32第3章  表、栈和队列┊353.1  抽象数据类型┊363.2  表ADT┊363.2.1  表的简单数组实现┊373.2.2  链表┊373.2.3  程序设计细节┊383.2.4  常见的错误┊423.2.5  双链表┊433.2.6  循环链表┊433.2.7  例子┊433.2.8  链表的游标实现┊473.3  栈ADT┊503.3.1  栈模型┊503.3.2  栈的实现┊513.3.3  应用┊563.4  队列ADT┊623.4.1  队列模型┊623.4.2  队列的数组实现┊623.4.3  队列的应用┊65总结┊66练习┊66第4章  树┊714.1  预备知识┊724.1.1  树的实现┊734.1.2  树的遍历及应用┊744.2  二树┊7.2.1  实现┊774.2.2  表达式树┊774.3  查找树ADT——二查找树┊804.3.1  MakeEmpty┊804.3.2  Find┊814.3.3  FindMin和FindMax┊814.3.4  Insert┊814.3.5  Delete┊834.3.6  平均情形分析┊844.4  AVL树┊8.4.1  单旋转┊884.4.2  双旋转┊904.5  伸展树┊954.5.1  一个简单的想法┊9.5.2  展开┊974.6  树的遍历┊1024.7  B树┊103总结┊107练习┊108参考文献┊113第5章  散列┊1175.1  一般想法┊1185.2  散列函数┊1185.3  分离链接法┊1205.4  开放定址法┊1235.4.1  线性探测法┊1245.4.2  平方探测法┊1255.4.3  双散列┊1295.5  再散列┊1305.6  可扩散列┊132总结┊133练习┊134参考文献┊137第6章  优先队列(堆)┊1396.1  模型┊1406.2  一些简单的实现┊1416.3  二堆┊1416.3.1  结构性质┊1416.3.2  堆序性质┊1426.3.3  基本的堆操作┊1436.3.4  其他的堆操作┊146  优先队列的应用┊149.1  选择问题┊149.2  事件模拟┊1506.5  d-堆┊1516.6  左式堆┊1526.6.1  左式堆的性质┊1526.6.2  左式堆的操作┊1536.7  斜堆┊1586.8  二项队列┊1596.8.1  二项队列结构┊1596.8.2  二项队列操作┊1606.8.3  二项队列的实现┊162总结┊165练习┊166参考文献┊169第7章  排序┊1737.1  预备知识┊1747.2  插入排序┊1747.2.1  算法┊1747.2.2  插入排序的分析┊1757.3  一些简单排序算法的下界┊1757.4  希尔排序┊1767.5  堆排序┊1797.6  归并排序┊1827.7  快速排序┊1867.7.1  选取枢纽元┊1877.7.2  分割策略┊1887.7.3  小数组┊1907.7.4  实际的快速排序例程┊1907.7.5  快速排序的分析┊1927.7.6  选择的线性期望时间算法┊1947.8  大型结构的排序┊1957.9  排序的一般下界┊1967.10  桶式排序┊1987.11  外部排序┊1987.11.1  为什么需要新的算法┊1987.11.2  外部排序模型┊1997.11.3  简单算法┊1997.11.4  多路合并┊2007.11.5  多相合并┊2017.11.6  替换选择┊202总结┊203练习┊204参考文献┊207第8章  不相交集ADT┊2098.1  等价关系┊2108.2  动态等价性问题┊2108.3  基本数据结构┊2128.4  灵巧求并算法┊2148.5  路径压缩┊2168.6  按秩求并和路径压缩的坏情形┊2178.7  一个应用┊221总结┊222练习┊222参考文献┊223第9章  图论算法┊2259.1  若干定义┊2269.2  拓扑排序┊2289.3  短路径算法┊2309.3.1  无权短路径┊2329.3.2  Dijkstra算法┊2359.3.3  具有负边值的图┊2409.3.4  无圈图┊2419.3.5  所有点对短路径┊2439.4  网络流问题┊2439.5  小生成树┊2479.5.1  Prim算法┊2489.5.2  Kruskal算法┊2509.6  深度优先搜索的应用┊2519.6.1  无向图┊2529.6.2  双连通性┊2539.6.3  欧拉回路┊2569.  有向图┊2599.6.5  查找强分支┊2609.7  NP-完全性介绍┊2629.7.1  难与易┊2629.7.2  NP类┊2639.7.3  NP-完全问题┊2总结┊266练习┊266参考文献┊2700章  算法设计技巧┊27310.1  贪婪算法┊27410.1.1  一个简单的调度问题┊27410.1.2  Huffman编码┊27610.1.3  近似装箱问题┊28010.2  分治算法┊28610.2.1  分治算法的运行时间┊28710.2.2  近点问题┊28910.2.3  选择问题┊29110.2.4  一些运算问题的理论改进┊29410.3  动态规划┊29710.3.1  用一个表代替递归┊29810.3.2  矩阵乘法的顺序安排┊30010.3.3  优二查找树┊30110.3.4  所有点对短路径┊30410.4  随机化算法┊30610.4.1  随机数发生器┊30710.4.2  跳跃表┊31010.4.3  素性测试┊31210.5  回溯算法┊31410.5.1  收费公路重建问题┊31410.5.2  博弈┊318总结┊323练习┊323参考文献┊3291章  摊还分析┊33311.1  一个无关的智力问题┊33411.2  二项队列┊33511.3  斜堆┊33911.4  斐波那契堆┊34111.4.1  切除左式堆中的节点┊34111.4.2  二项队列的懒惰合并┊34311.4.3  斐波那契堆操作┊34611.4.4  时间界的证明┊34611.5  伸展树┊348总结┊351练习┊351参考文献┊3532章  不错数据结构及其实现┊35512.1  自顶向下伸展树┊35612.2  红黑树┊36112.2.1  自底向上插入┊36212.2.2  自顶向下红黑树┊36312.2.3  自顶向下删除┊36712.3  确定性跳跃表┊36812.4  AA树┊37312.5  treap树┊37812.6  k-d树┊37912.7  配对堆┊383总结┊387练习┊387参考文献┊389索引┊391
内容简介
本书是国外数据结构与算法分析方面的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。本书的编写目标是同时讲授好的程序设计和算法分析技巧,使读者可以开发出具有*高效率的程序。本书可作为不错数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。
作者简介
[美]马克·艾伦·维斯(MarkAllenWeiss) 著 冯舜玺 译 译
【加照片】马克·艾伦·维斯(Mark Allen Weiss)佛罗里达大学计算与信息科学学院教授、副院长,本科教育主任和研究生教育主任。他于1987年获得普林斯顿大学计算机科学博士学位,师从Robert Sedgewick。 他曾经担任全美AP(Advanced Placement)考试计算机学科委员会的(2000-2004)。他的主要研究兴趣是数据结构、算法和教育学。他编写的关于数据结构与算法方面的教材还有《Data Structures and Algorithm Analysis : in Java》《Data Structures and Algorithm Analysis : in等
摘要
目的本书讨论数据结构和算法分析。数据结构主要研究组织大量数据的方法,而算法分析则是对算法运行时间的评估。随着计算机的速度越来越快,对于能够处理大量输入数据的程序的需求变得日益急切。可是,由于在输入量很大的时候程序的低效率现象变得非常明显,因此这又要求对效率问题给予更仔细的关注。通过在实际编程前对算法进行分析,学生可以决定一个特定的解法是否可行。例如,学生在本书中将读到一些特定的问题并看到精心的实现方法是如何把处理大量数据的时间从16年减至不到1秒的。因此,若无运行时间的阐释,就不会有算法和数据结构的提出。在某些情况下,对于影响算法实现的运行时间的一些微小细节都需要认真探究。一旦确定解法,还必须编写程序。随着计算机的日益强大,它们必须解决的问题也变得更加巨大和复杂,这就要求开发更加复杂的程序。本书的目的是教授学生良好的程序设计技巧和提高学生的算法分析能力,使得他们能够开发出具有高效率的程序。等