0 0 0

算法详解(卷1)——算法基础.epub

孤者为尊
4天前 140
我用夸克网盘分享了「算法详解(卷1)——算法基础.epub」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
算法详解(卷1)——算法基础 作者: [美]蒂姆·拉夫加登(Tim Roughgarden) 出版社: 人民邮电出版社 出品方: 异步图书 原作名: Algorithms Illuminated, Part 1: The Basics 译者: 徐波 出版年: 2019-1-1 页数: 185 定价: 49 装帧: 平装 丛书: 算法详解 ISBN: 9787115493521

内容简介

算法是计算机科学领域最重要的基石之一。算法是程序的灵魂,只有掌握了算法,才能轻松地驾驭程序开发。 算法详解系列图书共有4卷,本书是第1卷——算法基础。本书共有6章,主要介绍了4个主题,它们分别是渐进性分析和大O表示法、分治算法和主方法、随机化算法以及排序和选择。附录A和附录B简单介绍了数据归纳法和离散概率的相关知识。本书的每一章均有小测验、章末习题和编程题,这为读者的自我检查以及进一步学习提供了较多的便利。 本书为对算法感兴趣的广大读者提供了丰富而实用的资料,能够帮助读者提升算法思维能力。本书适合计算机专业的高校教师和学生,想要培养和训练算法思维和计算思维的IT专业人士,以及在准备面试的应聘者和面试官阅读参考。

作者简介

蒂姆·拉夫加登(Tim Roughgarden)是斯坦福大学计算机科学系的教授,也是该校管理科学和工程系的客座教授,他从2004年开始教授和研究算法。本书是他的《算法详解》四部曲的第一卷,基于他从2012年开始定期举行的在线算法课程编写。

网友热评

Jeao&Leon: 一整本书(虽然特别薄)都在讲分治。让递归服服帖帖的。 way: 一整本书在讲分治算法,很细致,挺好的,也不厚

图书目录

第1章绪论1 1.1为什么要学习算法1 1.2整数乘法3 1.2.1问题和解决方案3 1.2.2整数乘法问题3 1.2.3小学算法4 1.2.4操作数量的分析5 1.2.5还能做得更好吗5 1.3Karatsuba乘法6 1.3.1一个具体的例子6 1.3.2一种递归算法7 1.3.3Karatsuba乘法9 1.4MergeSort算法11 1.4.1推动力11 1.4.2排序12 1.4.3一个例子13 1.4.4伪码14 1.4.5Merge子程序15 1.5MergeSort算法分析16 1.5.1Merge的运行时间17 1.5.2MergeSort的运行时间18 1.5.3定理1.2的证明19 1.5.4小测验1.1~1.2的答案23 1.6算法分析的指导原则23 1.6.1第1个原则:最坏情况分析24 1.6.2第2个原则:全局分析25 1.6.3第3个原则:渐进性分析26 1.6.4什么是“快速”算法27 1.7本章要点28 1.8习题29 挑战题31 编程题31 第2章渐进性表示法32 2.1要旨32 2.1.1推动力32 2.1.2高级思维33 2.1.34个例子34 2.1.4小测验2.1~2.4的答案38 2.2大O表示法40 2.2.1文本定义40 2.2.2图形定义40 2.2.3数学定义41 2.3两个基本例子42 2.3.1k阶多项式是O(nk)42 2.3.2k阶多项式不是O(nk-1)43 2.4大Ω和大表示法44 2.4.1大Ω表示法44 2.4.2大表示法45 2.4.3小O表示法46 2.4.4渐进性表示法的来源47 2.4.5小测验2.5的答案48 2.5其他例子48 2.5.1在指数中添加一个常数48 2.5.2指数乘以一个常数49 2.5.3最大值vs.和49 2.6本章要点50 2.7习题51 第3章分治算法53 3.1分治法规范53 3.2以O(nlogn)时间计数逆序对54 3.2.1问题54 3.2.2一个例子54 3.2.3协同筛选55 3.2.4穷举搜索法55 3.2.5分治法56 3.2.6高级算法57 3.2.7关键思路:站在MergeSort的肩膀上57 3.2.8重温Merge58 3.2.9Merge和分离逆序对60 3.2.10Merge_and_CountSplitInv61 3.2.11正确性61 3.2.12运行时间62 3.2.13小测验3.1~3.2的答案62 3.3Strassen的矩阵相乘算法63 3.3.1矩阵相乘63 3.3.2例子(n=2)64 3.3.3简单算法64 3.3.4分治法65 3.3.5节省一个递归调用67 3.3.6细节68 3.3.7小测验3.3的答案69 *3.4O(nlogn)时间的最近点对(ClosestPair)算法70 3.4.1问题70 3.4.2热身:1D情况71 3.4.3预处理71 3.4.4一种分治方法72 3.4.5一个微妙的变化74 3.4.6ClosestSplitPair74 3.4.7正确性76 3.4.8辅助结论3.3(a)的证明77 3.4.9辅助结论3.3(b)的证明78 3.4.10小测验3.4的答案80 3.5本章要点80 3.6习题81 挑战题81 编程题82 第4章主方法83 4.1重温整数乘法83 4.1.1RecIntMult算法84 4.1.2Karatsuba算法84 4.1.3比较递归过程85 4.2形式声明86 4.2.1标准递归过程86 4.2.2主方法的陈述和讨论87 4.36个例子88 4.3.1重温MergeSort89 4.3.2二分搜索89 4.3.3整数乘法的递归算法90 4.3.4Karatsuba乘法90 4.3.5矩阵乘法91 4.3.6一个虚构的递归过程92 4.3.7小测验4.2~4.3的答案93 *4.4主方法的证明94 4.4.1前言94 4.4.2重温递归树95 4.4.3单层所完成的工作96 4.4.4各层累计97 4.4.5正义与邪恶:需要考虑3种情况98 4.4.6预告运行时间上界99 4.4.7最后的计算:第一种情况100 4.4.8迂回之旅:几何级数101 4.4.9最后的计算:第二种情况和第三种情况102 4.4.10小测验4.4~4.5的答案103 4.5本章要点103 4.6习题104 第5章快速排序(QuickSort)107 5.1概述107 5.1.1排序108 5.1.2根据基准元素进行划分108 5.1.3高级描述110 5.1.4内容前瞻110 5.2围绕基准元素进行划分111 5.2.1简易方法111 5.2.2原地实现:高级计划112 5.2.3例子113 5.2.4Partition子程序的伪码115 5.2.5QuickSort的伪码117 5.3良好的基准元素的重要性117 5.3.1ChoosePivot的简单实现118 5.3.2ChoosePivot的过度实现118 5.3.3小测验5.1~5.2的答案119 5.4随机化的QuickSort121 5.4.1ChoosePivot的随机化实现121 5.4.2随机化QuickSort的运行时间122 5.4.3直觉:随机基准元素为什么很好123 *5.5随机化QuickSort的分析124 5.5.1预备工作125 5.5.2分解蓝图126 5.5.3应用蓝图128 5.5.4计算比较的概率130 5.5.5最后的计算132 5.5.6小测验5.3的答案133 *5.6排序需要(nlogn)的比较134 5.6.1基于比较的排序算法134 5.6.2具有更强前提的更快速排序135 5.6.3定理5.5的证明136 5.7本章要点138 5.8习题139 挑战题140 编程题141 第6章线性时间级的选择142 6.1RSelect算法143 6.1.1选择问题143 6.1.2简化为排序144 6.1.3分治法145 6.1.4RSelect的伪码146 6.1.5RSelect的运行时间147 6.1.6小测验6.1~6.2的答案149 *6.2RSelect的分析150 6.2.1根据阶段追踪进展150 6.2.2简化为掷硬币151 6.2.3综合结论153 *6.3DSelect算法154 6.3.1基本思路:中位的中位元素154 6.3.2DSelect的伪码155 6.3.3理解DSelect156 6.3.4DSelect的运行时间157 *6.4DSelect的分析159 6.4.1递归调用之外所完成的工作159 6.4.2一个粗略的递归过程159 6.4.330-70辅助结论160 6.4.4解析递归过程163 6.4.5先猜后验方法164 6.5本章要点166 6.6本章习题166 挑战题167 编程题168 附录A快速回顾数学归纳法169 附录B快速回顾离散概率173

算法详解(卷1)——算法基础.epub"网盘下载"

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件76556431@qq.com投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 相思明月连
  • 缤纷的缠绵
  • 心淡然如菊
  • 将笑意深藏
  • 别学我
  • 你留给我的只剩习惯
  • 被你抱
  • 奶声奶气
  • 狗痞
  • 杞胭
  • 了了风月
  • 他的她的他的她的他
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!