您好!欢迎来到淘毕设网

淘毕设网

热门搜索: 毕业设计   
高级算法和数据结构 PDF 下载【135MB】
  • 2024-10-09
  • 电子书
  • 0
  • 77
  • 扫一扫,手机访问
  • 限时 • 优惠
  • 平台资金担保,交易全程无忧
  • 立即抢购
  • 9.00
  • (原价:¥139.00)
  • 商品特色:
  • 担保交易
  • 自动发货
  • 商品详情
  • 累计评价 0
  • 商品问答
  • 交易规则
  • 立即购买

这是一本关于“高级阶”算法和数据结构的图书,主要介绍了用于Web应用程序、系统编程和数据处理领域的各种算法,旨在让读者了解如何用这些算法应对各种棘手的编码挑战,以及如何将其应用于具体问题,以应对潮下的“棘手”问题。 本书对一些广为人知的基本算行了扩展,还介绍了用于改善优先队列、有效缓存、对数行集群等的技术,以期读者能针对不同编程问题选出更好的解决方案。书中示例大多辅以图解,并以不囿于特定语言的伪代码以及多种语言的代码样本加以闸释。 学完本书,读者可以了解高级算法和数据结构的相关内容,并能运用这些知识让代码具备更优性能,甚至能够独立设据结构,应对需要自定义解决方案的况。 本书可作为高等院校计算机相关专业本科高年级学生以及研究生的学,也可供从事与算法相关工作的参考。

第 1章  初识数据结构  1 1.1  数据结构  2 1.1.1  定义数据结构  2 1.1.2  描述数据结构  3 1.1.3  算法与数据结构有区别sp; 4 1.2  设定目标:阅读本书后的期望  4 1.3  :数据结构与现实世界的结合  5 1.3.1  抽象化问题  5 1.3.2  寻找解决方案  6 1.3.3  拯救大家的算法  7 1.3.4  打破常规来思考问题  8 1.3.5  的结局  9 1.4  小结  9 第 一部分  基本数据结构 第 2章  优先队列:d叉堆  12 2.1  本章结构  13 2.2  问题:处理优先级  13 2.3  已知解决方案:让列表保持有序  15 2.4  描述数据结构API:优先队列  15 2.4.1  使用优先队列  16 2.4.2  优先级为何重要  17 2.5  具体数据结构  17 2.5.1  性能比较  18 2.5.2  正确的具体数据结构是什么  18 2.5.3  堆  18 2.5.4  优先级、小堆和堆   2.5.5  高级变体:d叉堆  21 2.6  如何实现堆  22 2.6.1  向上冒泡  22 2.6.2  向下推动  25 2.6.3  插入  27 2.  移除顶部元素  28 2.6.5  修改  30 2.6.6  处理重复优先级  31 2.6.7  堆化  32 2.6.8  API之外的方法含  34 2.6.9  性能回顾  34 2.6.10  从伪代码到实现  35 2.7  用例:找到的k个元素  35 2.7.1  选择正确的数据结构  36 2.7.2  正确地使用数据结构  36 2.7.3  代码写起来  36 2.8  更多的用例  37 2.8.1  图中的小距离:Dijkstra算法  37 2.8.2  更多的图算法:Prim算法  37 2.8.3  数据压缩:霍夫曼编码  38 2.9  对分支因行分析  41 2.9.1  是否需要d叉堆  41 2.9.2  运行时间  42 2.9.3  寻找很好分支因子  42 2.9.4  分支因子与内存的关系  43 2.10  性能分析:寻找很好分支因子  43 2.10.1  剖析  44 2.10.2  解释结果  45 2.10.3  堆化的谜团  49 2.10.4  选择很好分支因子  49 2.11  小结  50 第3章  树堆:使用随机化来平衡二叉搜索树  52 3.1  问题:多索引  53 3.2  解决方案:描述与API  53 3.3  树堆  54 3.3.1  旋转  57 3.3.2  一些设计问题  60 3.3.3  实现搜索方法  61 3.3.4  插入  61 3.3.5  删除   3.3.6  去顶、看顶以及修改  66 3.3.7  返回小键和键  67 3.3.8  性能回顾  67 3.4  应用:随机树堆  68 3.4.1  平衡树  68 3.4.2  引入随机化  70 3.4.3  随机树堆的应用  71 3.5  性能分析和剖析  72 3.5.1  理论:期望高度  72 3.5.2  剖析高度  74 3.5.3  剖析运行时间  76 3.5.4  剖析内存使用况  78 3.5.5  结论  78 3.6  小结  80 第4章  布隆过滤器:减少跟踪内容所需的内存  81 4.1  字典问题:跟踪事物  82 4.2  实现字典的其他方法  83 4.3  描述数据结构API:关联数组  83 4.4  具体数据结构  84 4.4.1  无序数组:快速插入,慢速搜索  84 4.4.2  有序数组和二分查找:慢插入,稍微快一些的搜索  85 4.4.3  哈希表:在不需要有序的况下,具有平均常数时间的性能  8.4.4  二叉搜索树:所有操作都是对数阶的  8.4.5  布隆过滤器:与哈希表一样快,但(由于一个缺陷而)更节省内存  88 4.5  表面之下:布隆过滤器是如何工作的  88 4.6  实现  89 4.6.1  使用布隆过滤器  90 4.6.2  位的读取和写入  91 4.6.3  找到键存储的位置  92 4.  生成哈希函数  93 4.6.5  构造函数  93 4.6.6  查找键  94 4.6.7  存储键  95 4.6.8  估计率  9.7  应用场景  97 4.7.1  缓存  97 4.7.2  路由  98 4.7.3  爬虫  98 4.7.4  I/O提取器  98 4.7.5  拼写检查器  98 4.7.6  分布式数据库和文件系统  99 4.8  为什么布隆过滤器是可行的  99 4.8.1  为什么没有假阴性  100 4.8.2  为什么有假阳性  100 4.8.3  作为随机算法的布隆过滤器  101 4.9  性能分析  101 4.9.1  运行时间  101 4.9.2  构造函数  102 4.9.3  存储元素  102 4.9.4  查找元素  102 4.10  估计布隆过滤器的度  102 4.11  的变体  10.11.1  布隆表过滤器  10.11.2  组合布隆过滤器  10.11.3  分层布隆过滤器  10.11.4  压缩布隆过滤器  107 4.11.5  可扩展布隆过滤器  107 4.12  小结  108 第5章  不交集:次线性时间的处理过程  109 5.1  不同子集问题  110 5.2  解决方案的论证  111 5.3  描述数据结构API:不交集  112 5.4  简单解决方案  113 5.5  使用树状结构  117 5.5.1  从链表转移到树  117 5.5.2  实现使用树的版本  118 5.6  运行时间的启发式算法  1 5.6.1  路径压缩  121 5.6.2  实现平衡性与路径压缩  122 5.7  应用程序  124 5.7.1  图:连通分量  124 5.7.2  图:小生成树的Kruskal算法  124 5.7.3  聚类  125 5.7.4  合一  126 5.8  小结  126 第6章  trie与基数树:的字符串搜索  127 6.1  拼写检查  128 6.1.1  拼写检查器的设计  128 6.1.2  压缩是关键  129 6.1.3  描述与API  129 6.2  trie  130 6.2.1  为什么trie更好  132 6.2.2  搜索  134 6.2.3  插入  137 6.2.4  删除  139 6.2.5  搜索长前缀词  140 6.2.6  返回匹配特定前缀的所有键  141 6.2.7  什么时候应该使用trie  143 6.3  基数树  144 6.3.1  节点和边  146 6.3.2  搜索  148 6.3.3  插入  149 6.3.4  删除  151 6.3.5  搜索长前缀词  153 6.3.6  返回匹配特定前缀的所有键  153   应用程序  154 .1  拼写检查器  154 .2  字符串相似度  156 .3  字符串排序  157 .4  T9  157 .5  自动完成  158 6.5  小结  158 第7章  用例:LRU缓存  160 7.1  不要重复计算  160 7.2  第 一次尝试:记住数据  163 7.2.1  描述与API  1 7.2.2  请保存新数据  1 7.2.3  处理异步调用  165 7.2.4  将缓存的值标记为“正在加载”  166 7.3  内存(真的)不够  167 7.4  清除陈旧数据:LRU缓存  168 7.4.1  有时必须要重复解决问题  169 7.4.2  时间排序  170 7.4.3  性能  174 7.5  当新数据更有价值时:LFU  175 7.5.1  如何选择缓存的清除策略  176 7.5.2  LFU缓存有什么不同  176 7.5.3  性能  178 7.5.4  LFU缓存的不足  178 7.6  如何使用缓存也同样重要  179 7.7  同步简介  180 7.7.1  (在Java中)解决并发问题  182 7.7.2  锁简介  183 7.7.3  获取锁  183 7.7.4  重入锁  184 7.7.5  读锁  185 7.7.6  解决并发的其他方法  186 7.8  缓存应用程序  186 7.9  小结  187 第二部分  多维查询 第8章  近邻搜索  190 8.1  近邻搜索问题  190 8.2  解决方案  191 8.2.1  第 一次尝试  191 8.2.2  有时缓存并不是答案  191 8.2.3  简化事以获得灵感  192 8.2.4  谨慎选择数据结构  193 8.3  描述与API  194 8.4  迁移到k维空间  195 8.4.1  一维二分查找  196 8.4.2  迁移到更高维度  196 8.4.3  用数据结构对二维空行建模  197 8.5  小结  198 第9章  k-d树:索引多维数据  199 9.1  从结束的地方继续  199 9.2  迁移到k维空间:循环遍历 维度  199 9.2.1  构造BST  1 9.2.2  不变量  4 9.2.3  保持平衡的重要性  4 9.3  方法  5 9.3.1  搜索  6 9.3.2  插入  8 9.3.3  平衡树  9 9.3.4  删除  212 9.3.5  近邻搜索  218 9.3.6  区域搜索  224 9.3.7  所有方法的回顾  227 9.4  与可能的  228 9.5  小结  229 第 10章  相似性搜索树:图像检索的近似 近邻搜索  230 10.1  从结束的地方继续  230 10.1.1  一个新的(更复杂的)例子  231 10.1.2  克服k-d树的缺陷  232 10.2  R树  232 10.2.1  先退一步:B树简介  232 10.2.2  由B树到R树  233 10.2.3  在R树中插入点  236 10.2.4  搜索  237 10.3  SS树  238 10.3.1  搜索  241 10.3.2  插入  244 10.3.3  插入:方差、均值与投影  249 10.3.4  插入:分裂节点  252 10.3.5  删除  255 10.4  相似性搜索  259 10.4.1  近邻搜索  260 10.4.2  区域搜索  262 10.4.3  近似相似性搜索  263 10.5  SS+树  265 10.5.1  SS树会更好sp; 266 10.5.2  缓解超球体的  267 10.5.3  拆分启发式算法  267 10.5.4  减少重叠  268 10.6  小结  270 第 11章  近邻搜索的应用  271 11.1  应用程序:查找近的枢纽  271 11.1.1  解决方案的初稿  272 11.1.2  天堂里的麻烦  273 11.2  中心化应用程序  274 11.2.1  过滤点  274 11.2.2  复杂的决定  276 11.3  迁移到分布式应用程序  278 11.3.1  处理HTTP通信的问题  279 11.3.2  保持同步  281 11.3.3  验教训  281 11.4  其他应用程序  282 11.4.1  色彩还原  282 11.4.2  粒子的相互作用  283 11.4.3  多维数据库查询的优化  285 11.4.4  聚类  287 11.5  小结  287 第 12章  聚类  288 12.1  聚类简介  289 12.1.1  机器学型  289 12.1.2  聚类的类型  290 12.2  k均值算法  291 12.2.1  k均值算法的问题  295 12.2.2  维度诅咒再次来袭  296 12.2.3  k均值算法的性能分析  297 12.2.4  用k-d树来加快k均值算法  297 12.2.5  关于k均值算法的后一些提示  300 12.3  DBSCAN算法  300 12.3.1  直接可达与密度可达  301 12.3.2  从定义到算法  302 12.3.3  实现  304 12.3.4  DBSCAN算法的优缺点  305 12.4  OPTICS算法  307 12.4.1  定义  308 12.4.2  OPTICS算法的核心思想  308 12.4.3  从可达距离到聚类  311 12.4.4  分层聚类  314 12.4.5  性能分析和终的考虑  318 12.5  评估聚类结果:评估指标  318 12.6  小结  322 第 13章  并行聚类:MapReduce与树冠聚类  323 13.1  并行化  323 13.1.1  并行计算与分布式计算  324 13.1.2  并行化k均值算法  325 13.1.3  树冠聚类  325 13.1.4  应用树冠聚类  327 13.2  MapReduce  328 13.2.1  MapReduce是如何工作的  328 13.2.2  先映射,后归约  331 13.2.3  表面之下,还有更多  334 13.3  MapReduce版本的k均值算法  334 13.3.1  并行化树冠聚类  337 13.3.2  使用树冠聚类行质心的初始化  339 13.3.3  MapReduce版本的树冠聚类  340 13.4  MapReduce版本的DBSCAN 算法  343 13.5  小结  348 第三部分  平面图与小交叉数 第 14章  图简介:寻找距离短的 路径  350 14.1  定义  351 14.1.1  图的实现  351 14.1.2  作为代数类型的图  353 14.1.3  伪代码  354 14.2  图的属性  354 14.2.1  无向  355 14.2.2  连通  355 14.2.3  无环  35.3  图的遍历:BFS与DFS  357 14.3.1  优化配送路线  357 14.3.2  广度优先搜索  359 14.3.3  重建到目标的路径  361 14.3.4  深度优先搜索  362 14.3.5  再次比较队列与堆栈  3 14.3.6  投裹的很好路线  365 14.4  加权图中的短路径:迪杰斯特拉 算法  365 14.4.1  与BFS算法的区别  3.2  实现  367 14.4.3  分析  368 14.4.4  投裹的很好路线  369 14.5  迪杰斯特拉算法:A* 算法  370 14.5.1  A*算法到底有多好  372 14.5.2  将启发式函数作为平衡实时数据的一种方式  375 14.6  小结  376 第 15章  图嵌入与平面性:绘制具有少相交边的图  377 15.1  图嵌入  378 15.1.1  一些基础定义  379 15.1.2  接近图与接近二分图  380 15.2  平面图  381 15.2.1  在实践中使用库拉托夫斯基定理  381 15.2.2  平面性测试  382 15.2.3  用于平面性测试的朴素算法  383 15.2.4  提高性能  386 15.2.5  的算法  388 15.3  非平面图  389 15.3.1  找到交叉数  391 15.3.2  直线交叉数  392 15.4  边的交叉点  393 15.4.1  直线线段  394 15.4.2  折线  397 15.4.3  贝塞尔曲线  397 15.4.4  二次贝塞尔曲线之间的交点  398 15.4.5  顶点与顶点相交以及边与顶点相交  401 15.5  小结  402 第 16章  梯度下降:(不仅是)图的优化问题  403 16.1  用于交叉数的启发式算法  404 16.1.1  刚才提到启发式了sp; 404 16.1.2  扩展到曲线边  408 16.2  优化的工作原理  409 16.2.1  成本函数  410 16.2.2  阶跃函数与局部小值  412 16.2.3  优化随机抽样算法  412 16.3  梯度下降  414 16.3.1  梯度下降中的数学描述  415 16.3.2  几何解释  416 16.3.3  什么时候可以应用梯度下降  418 16.3.4  梯度下降的问题  418 1  梯度下降的应用  419 16.5  使用梯度下行图嵌入  422 16.5.1  另一种标准  423 16.5.2  实现  425 16.6  小结  426 第 17章  模拟退火:局部小值的优化  427 17.1  模拟退火  428 17.1.1  有时候需要先向上爬才能到达底部  429 17.1.2  实现  431 17.1.3  为什么模拟退火是有效的  432 17.1.4  短程与长程的转换  434 17.1.5  变体  435 17.1.6  模拟退火与梯度下降:应该选择哪一个呢  436 17.2  模拟退火与旅行推销员  436 17.2.1  解与近似解  438 17.2.2  可视化成本  438 17.2.3  修剪域  440 17.2.4  状态转换  440 17.2.5  相邻交换与随机交换  443 17.2.6  TSP近似算法的应用  444 17.3  模拟退火与图嵌入  444 17.3.1  小边交sp; 445 17.3.2  力导向绘制  446 17.4  小结  450 第 18章  遗传算法:受生物学启发的快速收敛优化  451 18.1  遗传算法简介  451 18.1.1  来自大自然的灵感  453 18.1.2  染色体  456 18.1.3  种群  457 18.1.4  适应度  458 18.1.5  自然选择  459 18.1.6  选择交配的个体  461 18.1.7  交叉操作  466 18.1.8  突变操作  468 18.1.9  遗传算法模板  469 18.1.10  遗传算法在什么时候效果  470 18.2  TSP  471 18.2.1  适应度、染色体与初始化  471 18.2.2  突变操作  472 18.2.3  交叉操作  472 18.2.4  结果与参数调整  473 18.2.5  TSP:优化整个车队的路线  476 18.3  小顶点覆盖  477 18.3.1  顶点覆盖的应用  478 18.3.2  实现遗传算法  478 18.4  遗传算法的其他应用  480 18.4.1  流问题  480 18.4.2  蛋白质折叠  481 18.4.3  遗传算法  482 18.4.4  算法,本书  483 18.5  小结  483 附录A  伪代码快速指南  485 附录B  大O符号  494 附录C  核心数据结构  500 附录D  类似于优先队列的容器  511 附录E  递归  514 附录F  分类问题与随机算法的度量指标  5

  • 商品评价
  • 交易规则

交易流程

14993381806554.png

发货方式

1、自动:在上方保障服务中标有自动发货的商品,拍下后,将会自动收到来自卖家的商品获取(下载)链接;

2、手动:未标有自动发货的的商品,拍下后,卖家会收到邮件、短信提醒,也可通过QQ或订单中的电话联系对方。


退款说明

1、描述:源码描述(含标题)与实际源码不一致的(例:描述PHP实际为ASP、描述的功能实际缺少、版本不符等);

2、演示:有演示站时,与实际源码小于95%一致的(但描述中有"不保证完全一样、有变化的可能性"类似显著声明的除外);

3、发货:手动发货源码,在卖家未发货前,已申请退款的;

4、服务:卖家不提供安装服务或需额外收费的(但描述中有显著声明的除外);

5、其他:如质量方面的硬性常规问题等。

注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。交易中的商品,卖家无法对描述进行修改!


注意事项

1、在未拍下前,双方在QQ上所商定的内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准);

2、在商品同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外);

3、在没有"无任何正当退款依据"的前提下,写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;

4、虽然交易产生纠纷的几率很小,但请尽量保留如聊天记录这样的重要信息,以防产生纠纷时便于网站工作人员介入快速处理。


  • 认证类型:
  • 企业
  • 商家认证:
  • 工作时间
  • 9:00-22:00
  • 描述
    5.00
  • 发货
    5.00
  • 售后
    5.00
已缴保证金3000.00
联系我们
Q Q:784301690
电话:18562817808
邮箱:784310690@qq.com
时间:08:00 - 22:00
联系客服
网站客服 购买源码 技术咨询 联系客服
18562817808
手机版

扫一扫进手机版
返回顶部