![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 58
guugle2010
这个作者很懒,什么都没留下…
展开
-
数据结构与算法之贪心算法 C++实现
贪心算法:从问题的某一个初始解触发逐步逼近给定的目标,以尽可能快的求得更好的解。当达到算法中某一步不能再继续前进时,就停止算法,给出近似值。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。原创 2014-11-14 13:11:22 · 2624 阅读 · 0 评论 -
数据结构与算法之模拟算法 C++实现
模拟算法:模拟整个过程,通过改变数学中模型的各种参数,进而观察变更这些参数所引起过程状态的变化。原创 2014-11-15 20:21:21 · 3560 阅读 · 2 评论 -
数据结构与算法之递推算法 C++与PHP实现
递推算法:递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。顺推法:从已知条件出发,逐步推算出要解决的问题的方法。逆推法:从已知问题的结果出发,用迭代表达式逐步推算出问题的开始的条件,即顺推法的逆过程。原创 2014-11-03 20:43:32 · 1532 阅读 · 0 评论 -
排序算法之冒泡排序 C++和PHP实现
冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。是最慢的排序算法。在实际运用中它是效率最低的算法。原创 2014-11-20 10:47:57 · 1133 阅读 · 1 评论 -
数据结构与算法之递归算法 C++和PHP实现
递归算法:就是一种直接或间接调用自身的算法。实现过程:通过函数或者子过程来完成,在函数或者子过程中编写代码直接或间接的调用自己,即可完成递归操作。(相同类别的问题,把问题层层转换为规模缩小的子问题到最小问题有已知条件,然后来求解,然后得到结果逐级返回。其实也是一种循环。)原创 2014-11-06 08:26:10 · 1266 阅读 · 0 评论 -
数据结构与算法之枚举(穷举)法 C++实现
枚举法的本质就是从所有候选答案中去搜索正确的解。枚举有超级无敌准确性,只要时间足够,正确的枚举得出的结论是绝对正确的。枚举拥有天下第一全面性,因为它是对所有方案的全面搜索,所以,它能够得出所有的解。对于枚举算法,加强约束条件,缩小枚举的范围,是程序优化的主要考虑方向。原创 2014-11-05 08:19:41 · 3824 阅读 · 7 评论 -
行列有序的二维数组查找
题目在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入描述:array: 待查找的二维数组target:查找的数字输出描述:查找到返回true,查找不到返回false分析与解法解法一、分治法这种原创 2016-03-17 19:51:47 · 1459 阅读 · 2 评论 -
两个基础算法最大子序列和和最大公因子数
同一个问题不同的解决方式得到的结果可能都一样,但是花费的时间和精力可能有天壤之别。算法的巧妙之处在于把一些问题更少的占有资源和更段的时间完成。好的解决方式一般是通过分析,找到更多的限制条件去减少数据量,当然要考虑时间和空间复杂度。数学论证推理对好的解决方式很重要。最大子序列和的问题需要两个额外的空间一个存储当前累加最大值,一个存储当前累加的值。遍历累加,遇到和小于等于0原创 2016-03-18 18:58:35 · 1124 阅读 · 0 评论 -
计算1024的阶乘结果有多少个0
1024! 末尾有多少个0? 1024的阶乘末尾有多少个0,这个问题只要理清思想就很好解了。 有多少个0取决于有多少个10相乘,即1024拆成小单元后有多少个10。由于10不是素数,所以直接用10进行计算的话会有很多问题,于是将10分解。 10可以分解成2*5,2和5都是素数,由于每2个相邻的数中一定包含2,所以只要计算出有多少个5就可以了(2会在5之后及时出现)。原创 2017-03-27 23:40:55 · 1382 阅读 · 0 评论