会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
习惯形成性格,性格决定命运
Github地址:https://github.com/blairwind
博客园
首页
新随笔
联系
管理
订阅
随笔分类 -
算法
算法笔记(九):二分查找
摘要:(一)二分查找 1、例如:抱着一堆书走出图书馆的时候,检测器突然响了(其中一本书没有消磁),现在要检查哪一本书没有消磁。 (1)比较耗时的方式就是,一本一本书用检测器都检查下。 (2)比较快的方式是:分成相等的2份,分别给检测器检测。引起报警的那一份,再分成2份,分别给检测器检测,重复这个过程,直到
阅读全文
posted @
2020-05-18 22:56
free赖权华
阅读(308)
评论(0)
推荐(0)
算法笔记(九):希尔排序和桶排序
摘要:(一)希尔排序 先将整个待排记录序列分割成若干个子序列,然后分别进行直接插入排序,待整个序列中的数据基本有序时,再对全体记录进行一次直接插入排序。具体做法是: 1) 算出增量序列 2) 根据增量序列对待排记录进行直接插入排序 (二)桶排序
阅读全文
posted @
2018-11-18 01:07
free赖权华
阅读(584)
评论(0)
推荐(0)
算法笔记(八):复杂度分析(二)
摘要:#感兴趣的可以去订阅极客时间前谷歌工程师的专栏:数据结构与算法之美,个人觉得写的很不错。这里只是我自己做的一个简单的笔记 (一) 对数阶时间复杂度 上面这段代码,i 从1开始,循环一次乘于2,当大于n时,循环结束,我们可以得到2x = n。要计算上面这段代码的时间复杂度,求解x的值就行了,根据数学基
阅读全文
posted @
2018-11-18 01:07
free赖权华
阅读(581)
评论(0)
推荐(1)
算法笔记(七):复杂度分析(一)
摘要:(一)渐进符号(这里暂时只考虑大O) 以输入规模n为自变量建立的时间复杂度实际上还是较复杂的,例如an2+bn+c,不仅与输入规模有关,还与系数a、b和c有关。此时对该函数进一步抽象,仅考虑运行时间的增长率或称为增长的量级,如忽略上式中的低阶项、高阶项的系数,仅考虑n2。当输入规模大到只与运行时间的
阅读全文
posted @
2018-10-14 02:32
free赖权华
阅读(1034)
评论(0)
推荐(0)
算法笔记(六):计数排序和基数排序
摘要:(一)说明 这里我是按自己的理解去实现的,时间复杂度和空间复杂度和算法导论上的可能不一样,感兴趣的话参考下就行,感觉最重要的还是算法思想。根据算法性能去实现算法以后再研究。 (二)计数排序 计数排序的基本思想是:对每一个输人元素x,确定小于x 的元素个数。 利用这一信息,就 可以直接把x放到它在输出
阅读全文
posted @
2018-09-02 23:05
free赖权华
阅读(1881)
评论(0)
推荐(0)
算法笔记(五):快速排序和简单选择排序
摘要:(一) 快速排序 按照快速排序的思想,对数组A[p…r]进行排序。 1、 选择一个基准A[q],调整数组,确保满足下面2个条件。 a) A[p…q-1] 的数据都小于等于 A[q] b) A[q+1…r] 的数据都大于A[q] 2、 对A[p…q-1] 和 A[q+1…r]重复1步骤 例如:对列表[
阅读全文
posted @
2018-06-25 21:03
free赖权华
阅读(2609)
评论(0)
推荐(0)
算法笔记(四):堆排序
摘要:#说的还是感觉不够清晰,感兴趣的勉强看看吧 (一) 堆 这里的堆指的是堆数据结构,不是Java中的垃圾收集器。堆可以理解为一个近似的完全二叉树,如下图,除了最底层之外该树是完全满的,并且是从左往右填充。(最底层只是不要求填充满,不是不能填充满) 例如:[5, 7, 8, 10, 12, 15](小顶
阅读全文
posted @
2018-06-23 22:59
free赖权华
阅读(324)
评论(0)
推荐(0)
算法笔记(三):冒泡排序和归并排序
摘要:(一) 冒泡排序 冒泡排序的作用就是反复交换相邻未按次序排列的数据。 看下面这张图,不难发现,第二重for循环每一轮循环结束后都会排好一个数据 第一轮结束后是:[8, 7, 3, 1, 11],不难发现,11是排序好了的,所以第二轮的循环次数在这次的基础上-1就行了,即len(data)-1-i 第
阅读全文
posted @
2018-06-01 00:44
free赖权华
阅读(1080)
评论(2)
推荐(1)
算法笔记(一):插入排序和线性查找
摘要:之前的版本感觉有点难以理解,重新修改下。 (一)插入排序 假如我们打牌时候,将手中的牌从左到右按顺序排列(例如:1、2、5、7、8) 这时抽到一张新牌3,从右到左和手上的牌进行比较,然后插入到2的后面(1、2、3、5、7、8),3后面的牌的索引全部+1. 实现代码: (二)线性查找
阅读全文
posted @
2018-05-22 18:39
free赖权华
阅读(445)
评论(0)
推荐(0)
算法笔记(二):贪心算法
摘要:(一) 贪心法 贪心法在解决问题的策略上是根据当前已有的信息做出选择,不管将来有什么结果,这个选择都不会改变。换言之,贪心法并不是从整体最优考虑,它所做出的选择只是某种意义上的局部最优。 用贪心法求解的问题一般具有2个重要的性质: (1) 最优子结构:当一个问题的最优解包含其子问题的最优解时,称此问
阅读全文
posted @
2018-05-22 18:39
free赖权华
阅读(429)
评论(0)
推荐(0)
公告