![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 77
六十三吖
代码也是我生活的一部分
展开
-
渐近符号总结
http://blog.csdn.net/xiazdong本文根据算法导论第三章总结,但其中加入了我对本章的一些补充,并且配合算法导论习题进行讲解。相信本文会让你对渐近记号有更深入地理解。一、定义介绍对于某个比较简单的算法,我们有时候确实能够精确地分析出算法的复杂度,比如算法复杂度为5n^2+10n+6,但是事实上并不需要这样,因为当n足够大时,可以忽略掉低阶项和最高次项的系数,因此就引出了“渐近...转载 2018-03-12 17:39:03 · 445 阅读 · 0 评论 -
最大子数组问题
最大子数组问题1.蛮力法求解代码实现:int baoli(int a[],int low, int high) { int sum = 0; int max = 0; int max_i = 0; int max_j = 0; for (int i = 1; i <= high; i++) { max = 0; for (int j = i; j <= high; ...原创 2018-04-11 08:28:18 · 128 阅读 · 0 评论 -
快速排序
关于快速排序法为什么一定要从右边开始的原因while(arr[j]>=temp&&i<j){j--;}while(arr[i]<=temp&&i<j){i++;}这里两个while的顺序是不能改变的,想一想:假设对如下进行排序:如上图,6在左,9在右 我们将6作为基数。假设从左边开始(与正确程序正好相反)于是i 就会移动到现在的 数字 7 ...转载 2018-03-21 11:34:44 · 99 阅读 · 0 评论 -
最大优先队列
堆排序是一种集插入排序和选择排序的有点于一身的排序算法,但是在后面能学习到更加好的快速排序算法,性能优于堆排序。堆这钟数据结构还有许多其他的用处,例如作为高效的优先队列。优先队列分为最大优先队列和最小优先队列,今天学习了如何用最大堆来实现最大优先队列。 优先队列是一种用来维护由一组元素构成的集合S的数据结构,其中的每一个元素都有一个相关的值,称为关键字。一个最大优先队列应该支持下面的四种操...原创 2018-03-21 09:49:49 · 770 阅读 · 0 评论 -
基数排序
一. 算法描述基数排序(以整形为例),将整形10进制按每位拆分,然后从低位到高位依次比较各个位。主要分为两个过程:(1)分配,先从个位开始,根据位值(0-9)分别放到0~9号桶中(比如53,个位为3,则放入3号桶中)(2)收集,再将放置在0~9号桶中的数据按顺序放到数组中重复(1)(2)过程,从个位到最高位(比如32位无符号整形最大数4294967296,最高位10位)以【521 310 72 3...转载 2018-03-28 11:44:08 · 85 阅读 · 0 评论 -
评估算法及算法的时间复杂度
转载:https://baijiahao.baidu.com/s?id=1609024533531824968&wfr=spider&for=pc 文章导读 【对于一个给定的算法,通常要评估其正确性和运行效率的高低。算法的正确性评估不在本文范围之内,本文主要讨论从算法的时间复杂度特性去评估算法的优劣。】 程序是用来解决问题的,是由多个步骤或过程组成的,这些步骤和过程就是解决问题的算...转载 2019-07-23 19:54:11 · 488 阅读 · 0 评论