![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DS&Algorithm
Scofield_Phil
RxNLP.
展开
-
尾递归笔记
尾递归笔记1.普通递归 是在每次fact(n-1)时开辟一块栈内存存放之前的计算结果。 特点是空间占据量随时间增长。 o(n)的空间。2.尾递归 是在每次fact(num-1,num*product)一次就已经把结果算出来了,这样就在需要开辟新栈原创 2016-09-14 01:12:37 · 501 阅读 · 0 评论 -
五大常用算法&实例列举
五大常用算法&实例列举1.分治法·话说递归与HANOI塔·二分法求方程近似解·用C++实现合并排序·求最大值和最小值的分治算法2.动态规划法·动态规划求0/1背包问题·最长公共子串问题的实现·原创 2016-09-14 01:16:49 · 3550 阅读 · 1 评论 -
五大常用算法:分治、动态规划、贪心、回溯、分支限界
五大常用算法:分治、动态规划、贪心、回溯、分支限界 分治:把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并-----------------------------------------------------------------------------------原创 2016-09-14 01:19:10 · 841 阅读 · 0 评论 -
c++ 与 Java 之 红黑树 哈希表 辨析
关于c++ 与 Java 的红黑树 哈希表 红黑树与Hash的区别与选择:权衡三个因素: 查找速度, 数据量, 内存使用,可扩展性,有序性。 hash查找速度会比RB树快,而且查找速度基本和数据量大小无关,属于常数级别;而RB树的查找速度是log(n)级别。并不一定常数就比log(n) 小,hash还有hash函数的耗时,明白了吧,如果你考虑效率,特别是在元素达到一定数量级时,考虑考虑hash。但若你对内存使用特别严格, 希望程序尽可能少消耗内存,那么一定要小心,hash可能会让你陷入尴尬,原创 2016-09-17 14:04:54 · 833 阅读 · 0 评论