算法导论
崖间松
用无穷的毅力去追逐自己的梦想
展开
-
动态规划方法
带备忘的自顶向下法:MEMOIZED-CUT-ROD(p,n) let r[0..n] for i=0 to n r[i]=-65536 return 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 · 275 阅读 · 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 · 323 阅读 · 0 评论 -
智能指针shared_ptr 的简单实现
#include using 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 · 643 阅读 · 0 评论