图解算法
电子书推荐
-
算法问题实战策略.[韩]具宗万(带详细书签) PDF 下载 完整版 评分:
编辑推荐 《算法问题实战策略》收录程序设计竞赛经典试题,在解题过程中讲解各种算法设计技巧和数据结构,培养读者的解题能力。读者可亲自编写各章习题程序并获得评分,所有示例均附有解题过程及详细说明。 内容简介 《算法问题实战策略》收录程序设计竞赛经典试题,在解题过程中讲解各种算法设计技巧和数据结构,培养读者的解题能力。读者可亲自编写各章习题程序并获得评分,所有示例均附有解题过程及详细说明。 本书主要内容 第一部分 开始解决问题 第二部分 算法分析 第三部分 算法设计范式 第四部分 一些著名的算法 第五部分 基本数据结构 第六部分 树 第七部分 图。 《算法问题实战策略》是学习解题技巧时必不可少的经典,不仅适合准备参赛的人阅读,书中对现有算法的检验和优化后的代码等,都对实际业务有非常大的帮助。本书作者是算法竞赛领域的人士,他利用自己多年积累的经验,通过多个解题示例帮助大家轻松学习算法。 作者简介 具宗万 , 毕业于韩国延世大学计算机科学系,曾在innotive公司和NHN公司任软件工程师,现在芝加哥高频交易(HFT)公司从事算法交易开发工作。2007年开始参与运营韩国程序设计竞赛参赛者网络社交平台algospot。 获奖经历 2002年、2003年 韩国大学生程序设计竞赛 金奖 2003年、2004年 世界大学生程序设计竞赛 入围决赛 2004年、2006年、2008年 Google Code Jam 入围决赛 2007年 Top Coder Open 亚军,2006年 入围决赛 2008年、2009年 Java算法竞赛 冠军 第一部分 开始解决问题 1 第1章 解决问题与程序设计竞赛 4 1.1 引言 4 1.2 程序设计竞赛 4 1.3 阅读本书的方法 7 1.4 值得参加的程序设计竞赛 8 1.5 对赛前准备工作的一些建议 9 1.6 续读 12 第2章 解决问题概述 13 2.1 引言 13 2.2 解决问题的过程 13 2.3 解决问题的策略 17 2.4 续读 26 第3章 编码与调试 27 3.1 引言:不要忽视编码的重要性 27 3.2 编写优秀代码的原则 27 3.3 常见失误 32 3.4 调试与测试 39 3.5 变量的取值范围 42 3.6 理解实数型数据类型 46 3.7 续读 55 第二部分 算法分析 57 第4章 分析算法的时间复杂度 60 4.1 引言 60 4.2 线性时间算法 62 4.3 次线性时间算法 65 4.4 指数时间算法 67 4.5 时间复杂度 70 4.6 推测执行时间 76 4.7 计算复杂度类:P、NP、NP-完备 81 4.8 续读 84 第5章 算法正确性证明 85 5.1 引言 85 5.2 数学归纳法和循环不变式 86 5.3 归谬法 90 5.4 其他技巧 92 5.5 续读 95 第三部分 算法设计范式 97 第6章 暴力解决法 99 6.1 引言 99 6.2 递归调用和穷举搜索法 100 6.3 练习题:郊游(习题 ID:PICNIC,难度:低) 106 6.4 解题:郊游 107 6.5 练习题:盖游戏板(习题 ID:BOARDCOVER,难度:低) 109 6.6 解题:盖游戏板 111 6.7 优化问题 113 6.8 练习题:时钟同步(习题 ID:CLOCKSYNC,难度:中) 116 6.9 解题:时钟同步 117 6.10 常见穷举搜索类型 119 第7章 分治法 120 7.1 引言 120 7.2 练习题:四叉树问题(题目 ID:QUADTREE,难度:低) 130 7.3 解题:四叉树问题 131 7.4 练习题:切割篱笆(习题 ID:FENCE,难度:中) 134 7.5 解题:切割篱笆 135 7.6 练习题:粉丝见面会(题目 ID:FANMEETING,难度:高) 139 7.7 解题:粉丝见面会 141 第8章 动态规划法 143 8.1 引言 143 8.2 练习题:通配符(习题 ID:WILDCARD,难度:中) 151 8.3 解题:通配符 152 8.4 典型优化问题 156 8.5 练习题:合并LIS(题目 ID:JLIS,难度:低) 163 8.6 解题:合并LIS 164 8.7 练习题:背诵圆周率(题目 ID:PI,难度:低) 166 8.8 解题:背诵圆周率 167 8.9 练习题:Quantization(题目 ID:QUANTIZE,难度:中) 169 8.10 解题:Quantization 170 8.11 所有可能的个数与概率 174 8.12 练习题:非对称铺设(题目 ID:ASYMTILING,难度:低) 180 8.13 解题:非对称铺设 181 8.14 练习题:多联骨牌(题目 ID:POLY,难度:中) 183 8.15 解题:多联骨牌 185 8.16 练习题:逃狱的韩尼拔博士(题目 ID:NUMB3RS,难度:中) 187 8.17 解题:逃狱的韩尼拔博士 189 第9章 动态规划技巧 194 9.1 计算优化问题的实际答案 194 9.2 练习题:打包行李(题目 ID:PACKING,难度:中) 195 9.3 解题:打包行李 197 9.4 练习题:光学字符识别(题目 ID:OCR,难度:高) 199 9.5 解题:光学字符识别 201 9.6 计算第k个答案 204 9.7 练习题:第k个最大递增子序列(题目 ID:KLIS,难度:高) 209 9.8 解题:第k个最长递增子序列 210 9.9 练习题:龙曲线(题目 ID:DRAGON,难度:中) 214 9.10 解题:龙曲线 216 9.11 对非整数型输入的制表 219 9.12 练习题:韦布巴津(题目 ID:ZIMBABWE,难度:高) 224 9.13 解题:韦布巴津 225 9.14 练习题:恢复实验数据(题目 ID:RESTORE,难度:中) 230 9.15 解题:恢复实验数据 231 9.16 组合游戏 234 9.17 练习题:数字游戏(题目 ID:NUMBERGAME,难度:低) 239 9.18 解题:数字游戏 240 9.19 练习题:方块游戏(题目 ID:BLOCKGAME,难度:中) 242 9.20 解题:方块游戏 243 9.21 迭代动态规划法 245 9.22 练习题:回转寿司(题目 ID:SUSHI,难度:中) 249 9.23 解题:回转寿司 250 9.24 练习题:Genius(题目 ID:GENIUS,难度:中) 253 9.25 解题:Genius 254 9.26 续读 256 第10章 贪心法 257 10.1 引言 257 10.2 练习题:加热便当(题目 ID:LUNCHBOX,难度:低) 264 10.3 解题:加热便当 265 10.4 练习题:合并字符串(题目 ID:STRJOIN,难度:中) 268 10.5 解题:合并字符串 269 10.6 练习题:米那斯雅诺(题目 ID:MINASTIRITH,难度:高) 273 10.7 解题:米那斯雅诺 275 第11章 组合搜索 281 11.1 引言 281 11.2 组合搜索的方法 283 11.3 练习题:盖游戏板2(题目 ID:BOARDCOVER2,难度:低) 298 11.4 解题:盖游戏板2 299 11.5 练习题:患有严重过敏症的朋友们(题目 ID:ALLERGY,难度:中) 303 11.6 解题:患有严重过敏症的朋友们 304 11.7 练习题:数谜(题目 ID:KAKURO2,难度:中) 307 11.8 解题:数谜 309 11.9 续读 315 第12章 将优化问题转换为决策 问题求解 316 12.1 引言 316 12.2 练习题:南极基地(题目 ID:ARCTIC,难度:低) 320 12.3 解题:南极基地 321 12.4 练习题:加拿大旅行(题目 ID:CANADATRIP,难度:中) 323 12.5 解题:加拿大旅行 324 12.6 练习题:退选课程(题目 ID:WITHDRAWAL,难度:高) 326 12.7 解题:退选课程 327 第四部分 一些著名的算法 329 第13章 数值分析 331 13.1 引言 331 13.2 二分法 331 13.3 练习题:提高获胜率(题目 ID:RATIO,难度:低) 338 13.4 解题:提高获胜率 339 13.5 三叉搜索 341 13.6 练习题:花粉化石(题目 ID:FOSSIL,难度:高) 346 13.7 解题:花粉化石 347 13.8 其他主题 351 第14章 整数论 352 14.1 引言 352 14.2 素数 352 14.3 练习题:密码486(题目 ID:PASS486,难度:中) 356 14.4 解题:密码486 357 14.5 欧几里得算法 360 14.6 练习题:魔法药水(题目 ID:POTION,难度:中) 361 14.7 解题:魔法药水 362 14.8 模运算 364 14.9 续读 366 第15章 计算几何 367 15.1 引言 367 15.2 计算几何的工具 367 15.3 相交、距离、面积 373 15.4 练习题:弹球模拟(题目 ID:PINBALL,难度:高) 377 15.5 解题:弹球模拟 379 15.6 多边形 383 15.7 练习题:金银岛(题目 ID:TREASURE,难度:高) 386 15.8 解题:金银岛 387 15.9 练习题:是呆子?不是呆子?(题目ID:NERDS,难度:中) 390 15.10 解题:是呆子?不是呆子? 392 15.11 计算几何算法设计范式 396 15.12 常见失误与注意事项 403 15.13 续读 404 第五部分 基本数据结构 405 第16章 位掩码 410 16.1 引言 410 16.2 利用位掩码实现集合 413 16.3 位掩码应用示例 417 16.4 练习题:毕业学期(题目 ID:GRADUATION,难度:中) 420 16.5 解题:毕业学期 422 16.6 续读 424 第17章 部分和 425 17.1 引言 425 17.2 练习题:圣诞娃娃(题目 ID:CHRISTMAS,难度:中) 429 17.3 解题:圣诞娃娃 430 17.4 其他学习内容 432 第18章 线性数据结构 433 18.1 引言 433 18.2 动态数组 433 18.3 链表 437 18.4 动态数组和链表的比较 440 18.5 练习题:约瑟夫斯(题目 ID:JOSEPHUS,难度:低) 440 18.6 解题:约瑟夫斯 441 18.7 续读 442 第19章 队列、栈以及双端队列 443 19.1 引言 443 19.2 队列、栈以及双端队列的实现方法 444 19.3 队列与栈的应用 445 19.4 练习题:不匹配括号(题目 ID:BRACKETS2,难度:低) 448 19.5 解题:不匹配括号 449 19.6 练习题:分析外星信号(题目 ID:ITES,难度:中) 450 19.7 解题:分析外星信号 451 第20章 字符串 455 20.1 引言 455 20.2 字符串检索 456 20.3 练习题:宰河的保险箱(题目 ID:JAEHASAFE,难度:中) 466 20.4 解题:宰河的保险箱 467 20.5 后缀数组 468 20.6 练习题:口头禅(题目 ID:HABIT,难度:中) 476 20.7 解题:口头禅 477 20.8 续读 478 第六部分 树 479 第21章 树的实现与遍历 481 21.1 引言 481 21.2 树的遍历 483 21.3 练习题:变更树的遍历顺序(题目 ID:TRAVERSAL,难度:低) 484 21.4 解题:变更树的遍历顺序 486 21.5 练习题:要塞(题目 ID:FORTRESS,难度:中) 487 21.6 解题:要塞 488 第22章 二叉搜索树 493 22.1 引言 493 22.2 二叉搜索树的定义和操作 493 22.3 时间复杂度分析与平衡二叉搜索树 496 22.4 练习题:是呆子?不是呆子?(题目ID:NERD2,难度:中) 496 22.5 解题:是呆子?不是呆子?2 498 22.6 直接实现平衡二叉搜索树:树堆 501 22.7 练习题:反转插入排序(题目 ID:INSERTION,难度:中) 508 22.8 解题:反转插入排序 509 第23章 优先级队列和堆 511 23.1 引言 511 23.2 堆的定义与实现方法 512 23.3 ¨¢?¤???¨?a?êo?à???¥|ì??D???|ì?ê?§¨?a?? ID?êoRUNNINGMEDIAN?ê????¨¨?êo|ì¨a?ê? 518 23.4 解题:变化的中间值 519 第24章 区间树 521 24.1 区间树:区间相关问题解答 521 24.2 练习题:登山路(题目 ID:MORDDR,难度:中) 527 24.3 解题:登山路 528 24.4 练习题:寻根问祖(题目 ID:FAMILYTREE,难度:高) 529 24.5 解题:寻根问祖 530 24.6 树状数组:快速而简单的区间和 533 24.7 练习题:计算插入排序的时间(题目 ID:MEASURETIME,难度:中) 536 24.8 解题:计算插入排序的时间 537 第25章 互斥集合 541 25.1 引言 541 25.2 练习题:编辑器之争(题目 ID:EDITORWARS,难度:中) 546 25.3 解题:编辑器之争 548 第26章 字典树 553 26.1 引言 553 26.2 练习题:再见,谢谢所有的鱼(题目 ID:SOLONG,难度:中) 557 26.3 解题:再见,谢谢所有的鱼 559 26.4 利用字典树检索多重字符串 563 26.5 练习题:安全终结者(题目 ID:NH,难度:高) 569 26.6 解题:安全终结者 570 第七部分 图 573 第27章 图的表示方式及定义 576 27.1 引言 576 27.2 图的应用示例 579 27.3 隐式图结构 580 27.4 图的几种表示法 581 第28章 图的深度优先搜索 585 28.1 引言 585 28.2 练习题:古语词典(习题 ID:DICTIONARY,难度:低) 590 28.3 解题:古语词典 591 28.4 欧拉回路 594 28.5 练习题:有限单词接龙(题目 ID:WORDCHAIN,难度:低) 597 28.6 解题:有限单词接龙 598 28.7 理论背景及应用 602 28.8 练习题:安装监控摄像头(题目 ID:GALLERY,难度:中) 613 28.9 解题:安装监控摄像头 614 28.10 练习题:安排会议室(题目 ID:MEETINGROOM,难度:高) 616 28.11 解题:安排会议室 618 第29章 图的宽度优先搜索 625 29.1 引言 625 29.2 练习题:排序游戏(题目 ID:SORTGAME,难度:中) 629 29.3 解题:排序游戏 630 29.4 练习题:儿童节(题目 ID:CHILDRENDAY,难度:高) 633 29.5 解题:儿童节 634 29.6 最短路径策略 637 29.7 练习题:汉诺塔(题目 ID:HANOI4B,难度:中) 648 29.8 解题:汉诺塔 650 第30章 最短路径问题 653 30.1 引言 653 30.2 迪杰斯特拉最短路径算法 654 30.3 练习题:信号路由(题目 ID:ROUTING,难度:低) 661 30.4 解题:信号路由 662 30.5 练习题:消防车(题目 ID:FIRETRUCKS,难度:中) 663 30.6 解题:消防车 664 30.7 练习题:铁人N项比赛(题目 ID:NTHLON,难度:高) 665 30.8 解题:铁人N项比赛 667 30.9 贝尔曼-福特最短路径算法 669 30.10 练习题:时间旅行(题目 ID:TIMETRIP,难度:中) 674 30.11 解题:时间旅行 675 30.12 弗洛伊德多源最短路径算法 677 30.13 练习题:检查酒驾(题目 ID:DRUNKEN,难度:中) 682 30.14 解题:检查酒驾 684 30.15 练习题:竞选承诺(题目 ID:PROMISES,难度:中) 685 30.16 解题:竞选承诺 687 第31章 最小生成树 689 31.1 引言 689 31.2 克鲁斯克尔最小生成树算法 690 31.3 普里姆最小生成树算法 694 31.4 练习题:局域网(题目 ID:LAN,难度:低) 697 31.5 解题:局域网 698 31.6 练习题:选定旅行路线(题目 ID:TPATH,难度:高) 699 31.7 解题:选定旅行路线 700 第32章 网络流 705 32.1 引言 705 32.2 福特-富尔克森算法 706 32.3 网络建模 713 32.4 练习题:操纵比赛(题目 ID:MATCHFIX,难度:中) 715 32.5 解题:操纵比赛 717 32.6 练习题:国家项目(题目 ID:PROJECTS,难度:高) 719 32.7 解题:国家项目 720 32.8 二分图匹配 723 32.9 练习题:象(题目 ID:BISHOPS,难度:中) 729 32.10 解题:象 730 32.11 练习题:设置陷阱(题目 ID:TRAPCARD,难度:高) 732 32.12 解题:设置陷阱 734 32.13 其他学习内容 737
上传时间:2018-02 大小:239.21MB
- 159B
《算法问题实战策略》PDF版本下载.txt
2019-07-17《算法问题实战策略》PDF版本下载
- 226.26MB
算法问题实战策略 高清【带详细目录】PDF
2018-09-27出版时间:2015年2月。 内容简介:第一部分 开始解决问题 第二部分 算法分析 第三部分 算法设计范式 第四部分 一些著名的算法 第五部分 基本数据结构 第六部分 树 第七部分 图
- 100.0MB
算法问题实战策略[带书签目录].pdf
2017-11-05由于受文件过大限制,所以分成了三部分,请分别下载下来才能解压
- 50.0MB
算法问题实战策略
2016-02-24代码质量很高,可与算法导论对照着看。难度低于日本那本《挑战程序设计竞赛》
- 50.0MB
算法问题实战策略 [(韩)具宗万著].zip.004
2016-02-24算法问题实战策略 [(韩)具宗万著].zip.004
- 147.19MB
算法笔记上机训练实战指南.pdf
2018-03-19算法笔记上机实训指南.pdf 文档是完整版的,可惜没有书签
- 70.22MB
Hadoop硬实战 [(美)霍姆斯著][电子工业出版社][2015.01]_PDF电子书下载 带书签目录 高清完整版.rar )
2015-12-081.2.1 下载并安装Hadoop 1.2.2 Hadoop 的配置 1.2.3 CLI 基本命令 1.2.4 运行MapReduce 作业 1.3 本章小结 第2 部分 数据逻辑. 2 将数据导入导出Hadoop. 2.1 导入导出的关键要素 2.2 将...
- 570KB
Google算法应对策略.pdf
2013-05-06Google算法应对策略.pdf 看完就知道怎么对付谷歌了
- 226.3MB
算法问题实战策略 [(韩)具宗万著]
2018-01-30算法问题实战策略 [(韩)具宗万著],学习备份!!!!!
- 239.21MB
算法问题实战策略.[韩]具宗万(超高清 详细书签)
2018-10-10算法问题实战策略.[韩]具宗万(超高清 详细书签)
- 32.31MB
java 并发编程实战
2018-12-04《java并发编程实战》(完整扫描版PDF带书签) 本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免...
- 0B
Qt 5实现串口调试助手 (源工程文件、0积分下载)
2021-12-06基于Qt 5实现串口调试助手,程序仅供参考,修改了之前十六进制接收0xA0--0xFF有误的问题,新增了窗口自适应(ui文件设置栅格),文件详情可看博客链接https://blog.csdn.net/m0_51294753/article/details/121405661。
- 47.24MB
【SystemVerilog】路科验证V2学习笔记(全600页).pdf
2021-02-25SystemVerilog的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注。 目录如下: 第一章 SV环境构建常识 1 1.1 数据类型 1 四、二值逻辑 4 定宽数组 9 foreach 13 动态数组 16 队列 19 关联数组 21 枚举类型 23 字符串 25 1.2 过程块和方法 27 initial和always 30 function逻辑电路 33 task时序电路 35 动态 静态变量 39 1.3 设计例化和连接 45 第二章 验证的方法 393 动态仿真 395 静态检查 397 虚拟模型 403 硬件加速 405 效能验证 408 性能验证 410 第三章 SV组件实现 99 3.1 接口 100 什么是interface 101 接口的优势 108 3.2 采样和数据驱动 112 竞争问题 113 接口中的时序块clocking 123 利于clocking的驱动 133 3.3 测试的开始和结束 136 仿真开始 139 program隐式结束 143 program显式结束 145 软件域program 147 3.4 调试方法 150 第四章 验证的计划 166 4.1 计划概述 166 4.2 计划的内容 173 4.3 计划的实现 185 4.4 计划的进程评估 194 第五章 验证的管理 277 6.1 验证的周期检查 277 6.2 管理三要素 291 6.3 验证的收敛 303 6.4 问题追踪 314 6.5 团队建设 321 6.6 验证的专业化 330 第六章 验证平台的结构 48 2.1 测试平台 49 2.2 硬件设计描述 55 MCDF接口描述 58 MCDF接口时序 62 MCDF寄存器描述 65 2.3 激励发生器 67 channel initiator 72 register initiator 73 2.4 监测器 74 2.5 比较器 81 2.6 验证结构 95 第七章 激励发生封装:类 209 5.1 概述 209 5.2 类的成员 233 5.3 类的继承 245 三种类型权限 protected/local/public 247 this super 253 成员覆盖 257 5.4 句柄的使用 263 5.5 包的使用 269 第八章 激励发生的随机化 340 7.1 随机约束和分布 340 权重分布 353 条件约束 355 7.2 约束块控制 358 7.3 随机函数 366 7.4 数组约束 373 7.5 随机控制 388 第九章 线程与通信 432 9.1 线程的使用 432 9.2 线程的控制 441 三个fork...join 443 等待衍生线程 451 停止线程disable 451 9.3 线程的通信 458 第十章 进程评估:覆盖率 495 10.1 覆盖率类型 495 10.2 功能覆盖策略 510 10.3 覆盖组 516 10.4 数据采样 524 10.5 覆盖选项 544 10.6 数据分析 550 第十一章 SV语言核心进阶 552 11.1 类型转换 552 11.2 虚方法 564 11.3 对象拷贝 575 11.4 回调函数 584 11.5 参数化的类 590 第十二章 UVM简介 392 8.2 UVM简介 414 8.3 UVM组件 420 8.4 UVM环境 425
- 131.54MB
AutoSAR标准协议4.2.2
2020-01-19AutoSAR标准协议规范4.2.2,里面包含了AutoSAR组织所规定的AutoSAR架构的标准规范协议原文档。对AutoSAR的学习有一定的借鉴意义
- 2.13MB
光伏-储能并网系统仿真.rar
2021-12-31该文件是清华大学储能课的期末大作业。用SIMULINK搭建了一个完整的光伏-储能并网系统。我的博客中介绍了系统实现的具体方法,欢迎查看!
- 35KB
NPPJSONViewer.zip
2022-01-17NodePad++ JSON格式化插件
- 339KB
GD32替换STM32注意事项.pdf
2020-04-12GD32 介绍与 STM32 兼容性汇总。STM32的代码直接在GD32上运行需要小部分的修改。按教程做对应修改就行哈。
- 1.50MB
XCP协议的规范文档
2020-01-19XCP协议的原规范文档,主要包含了Part1-5共5个部分,其中第三部分又分为CAN、以太网和Sxl等。对于XCP协议的开发者和学习者有借鉴意义
- 5.0MB
VS2015安装证书,JavaScript_ProjectSystem.msi,JavaScript_LanguageService.msi
2021-08-06vs2015.iso包安装,不然会卡在安装包丢失或损坏
- 2KB
CANoe通过CAPL脚本实现自动测试
2020-12-12现在汽车行业用vector的工具进行自动测试,但是该自动测试模板很少,本案例是分享CAPL脚本自动化测试的模板,和自动控制测试步骤的XML模板,使用过程可以通过本人分享的文档来实现工程的建立到自动测试的完成。通过CAPL脚本+XML控制测试步骤,实现自动测试,生成测试报告。
- 8.81MB
蓝牙BLE协议中文版.pdf
2020-06-16蓝牙BLE协议中文版,帮助初学者更快掌握协议内容。协议为SIG官方协议的中文版,所有协议内容均与英文原版协议内容保持一致
- 1KB
BaiduOCR.zip
2021-06-27按键精灵百度文字识别 自定义库 使用说明参考:https://blog.csdn.net/sinat_22215253/article/details/118272746