
算法导论笔记
maijia0754
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第一章、算法在计算中的作用 -- 算法解决哪种问题
算法解决哪种问题排序。数据库存取海量信息并为数据分析开发工具。互联网上的网站能够管理跟处理海量的信息。包括:数据传输寻找好的路由(第24章),使用一个搜索引擎来快速地找到特定信息所在的网页(第11章跟第32章)。加密个人信息。包括:公钥密码跟数字签名,它们以数值算法和数论为基础。制造业和其他商务企业常常需要按最有益的方式来分配稀有资源。如:一家石油公司也许希望知道在什么地方设置其油井,...原创 2018-11-01 14:57:53 · 361 阅读 · 0 评论 -
第二章、算法基础 -- 插入排序
插入排序对于少量元素的排序,插入排序是个有效的算法。其排序方法如同我们平时排序扑克牌一般,现在我们开始排序扑克牌,目前我们的左手为空,桌面上的牌堆全部牌面向下,然后我们拿起牌堆顶部的一张牌,由于此时手里没牌,所以不用比较,直接放到手里,再拿起牌堆顶部的牌,跟手中的牌进行比较,大的牌放后面,再拿起一张,跟手中的牌从右向左进行比较,遇到小的牌便插入到此牌的后面,循环此操作直到所有的牌都在手中。如下图...原创 2018-11-01 15:17:36 · 238 阅读 · 0 评论 -
第二章、算法基础 -- 分析算法
计算模型在能够分析算法之前,我们必须有一个要使用的实现技术的模型,包括描述所用资源及其代价的模型。对于本书的大多数章节,我们假定一种通用的单处理器计算模型——随机访问机(RAM)来作为我们的实现技术。在RAM模型中,指令是一条一条执行。#插入排序算法的分析一个算法在特定输入上的运行时间是指执行的基本操作数或步数。执行每行代码需要常量时间。虽然一行与另一行可能需要不同数量的时间,但是我们假设第...原创 2018-11-01 16:14:29 · 287 阅读 · 0 评论 -
第二章、算法基础 -- 设计算法
分治法分治法:将原问题分解为几个规模较小但类似于原问题的子问题,递归地求解这些子问题,然后再合并这些子问题的解来建立原问题的解。分治模式在每层递归时都有三个步骤:分解原问题为若干个子问题,这些子问题是原问题的规模较小的实例。解决这些子问题,递归地求解各个子问题。然而,若子问题的规模足够小,则直接求解。合并这些子问题的解成原问题的解。归并排序归并排序完全遵循分治模式:分解:分解...原创 2018-11-01 16:25:53 · 246 阅读 · 0 评论 -
第二章、思考题
答:a.插入排序的最坏时间复杂度为Θ(n2)\Theta(n^2)Θ(n2),对一个长度为kkk的子表进行排序需要最坏需要Θ(k2)\Theta(k^2)Θ(k2)时间,那么排序n/kn/kn/k个子表需要Θ(nk)\Theta(nk)Θ(nk)的时间。b.归并排序先对数组进行对半拆分,需要拆分Θ(log2n)\Theta(log_2n)Θ(log2n)次,现在当拆分到数组的长度为kk...原创 2018-11-01 18:02:31 · 269 阅读 · 0 评论 -
第三章、函数的增长 -- 渐近记号
渐近记号、函数与运行时间Θ记号\Theta记号Θ记号对一个给定的函数g(n)g(n)g(n),用Θ(g(n))\Theta(g(n))Θ(g(n))来表示一下函数的集合:Θ(g(n))={f(n):存在正常量c1、c2和n0,使得对所有n≥n0,有0≤c1g(n)≤f(n)≤c2g(n)}\Theta(g(n))=\{f(n):存在正常量c_1、c_2和n_0,\\使得对所有n\geq ...原创 2018-11-04 18:03:15 · 437 阅读 · 0 评论 -
第三章、函数的增长 --标准记号与常用函数
单调性若m≤nm\leq nm≤n蕴含f(m)≤f(n)f(m)\leq f(n)f(m)≤f(n),则函数f(n)是单调递增的f(n)是单调递增的f(n)是单调递增的。若m≤nm\leq nm≤n蕴含f(m)≥f(n)f(m)\geq f(n)f(m)≥f(n),则函数f(n)是单调递减的f(n)是单调递减的f(n)是单调递减的。若m<nm < nm&am原创 2018-11-12 16:53:15 · 505 阅读 · 0 评论 -
第四章、分治策略 -- 最大子数组问题
最大子数组问题最大子数组问题是寻找数组中和最大的非空连续子数组,这样的连续子数组为最大子数组。使用分治策略的求解方法首先是分解问题,把数组A[low…high]A[low…high]A[low…high]划分成两个规模尽量相等的子数组A[low...mid]A[low...mid]A[low...mid]跟A[mid+1...high]A[mid+1...high]A[mid+1...hig...原创 2018-11-16 16:57:23 · 435 阅读 · 0 评论