算法导论
崖间松
用无穷的毅力去追逐自己的梦想
展开
-
动态规划方法
带备忘的自顶向下法:MEMOIZED-CUT-ROD(p,n)let r[0..n]for i=0 to nr[i]=-65536return MEMOIZED-CUT-ROD-AUX(p,n,r)MEMOIZED-CUT-ROD-AUX(p,n,r)if r[n]>=0 return r[n] if n=0 q=0 else q=-65536原创 2015-11-20 21:12:49 · 263 阅读 · 0 评论 -
基数排序,计数排序
计数排序:假设n个输入元素的每一个都是在0到k 之间,当k=O(n)时,排序的运行时间为o(n). 计数排序的基本思想是:对每一个输入的元素x,确定小于x的个数,利用这一信息,可以直接把x 放到它在输出数组中的位置了。//计数排序void Count_Sort1(int *a,int a_length,int *b,int *c,int k,int d) //按指定位进行计数排序{原创 2015-11-29 20:17:47 · 312 阅读 · 0 评论 -
智能指针shared_ptr 的简单实现
#includeusing namespace std;class U_Ptr{friend class HasPtr;int *ip;size_t use;U_Ptr(int *p) :ip(p), use(1){cout }~U_Ptr(){delete ip;cout }};class Has原创 2016-06-09 13:25:29 · 629 阅读 · 0 评论