红桃J

用心写好每行完美的代码,远比写一堆更有价值

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页

2015年3月4日

摘要: 这题真是浪费了很多时间,想法也对了,转移到寻找第k小的元素上来,然后根据两个都是一排好序的数组,像类似算法导论中利用partition找到划分的q,但在这里,由于题目要求O(logn),所以这个找q的过程必须是常数时间,想了好久想不到一个常数时间的划分。最后在网上找到答案了:分析:我们现在设计一个求... 阅读全文
posted @ 2015-03-04 13:34 红桃J 阅读(142) 评论(0) 推荐(0) 编辑

2015年3月3日

摘要: PS1:如果单纯为做出这道题那么这个代价是O(nlgn),通过排序就可以了。 这里讨论的是O(n)的算法。那么来分析一下这个算法是如何做到O(n)的,算了不分析了,这个推到看起来太麻烦了。其实我想知道的只是结论而已,想感叹的也是partition真是特别好用啊!!!!代码: 1 #include 2... 阅读全文
posted @ 2015-03-03 09:21 红桃J 阅读(165) 评论(0) 推荐(0) 编辑

2015年3月2日

摘要: 寻找第二小的元素:如果用堆排序的方法,我们建立一个堆后只需要O(n),比较根节点的左儿子和右儿子的大小就可以得到第二小的节点了。而且BuildHeap的代价只有O(n)。 1 #include 2 3 using namespace std; 4 5 #define Left(i) i*2... 阅读全文
posted @ 2015-03-02 15:47 红桃J 阅读(383) 评论(0) 推荐(0) 编辑

2015年3月1日

摘要: 实现一个O(lgn)的最大堆优先队列的delete操作。Heap-Delete(A,i)操作能够将节点i从对中A删除。代码说明:假如删除序号为i的节点,那么我们先把最后的节点,放到i中去,然后对i进行堆维护,即向下维护堆,然后此时得到的序号为i的值向下能满足堆的性质,但向上不一定可以,所以我们再向上... 阅读全文
posted @ 2015-03-01 13:15 红桃J 阅读(211) 评论(0) 推荐(0) 编辑

2015年2月28日

摘要: 1 class Solution { 2 public: 3 double pow(double x, int n) { 4 if(x == 1) 5 { 6 return 1; 7 } 8 if(x ... 阅读全文
posted @ 2015-02-28 20:24 红桃J 阅读(270) 评论(0) 推荐(0) 编辑

摘要: 1 class Solution { 2 public: 3 string addBinary(string a, string b) { 4 int aL = a.length(); 5 int bL = b.length(); 6 int cL; 7 ... 阅读全文
posted @ 2015-02-28 19:37 红桃J 阅读(135) 评论(0) 推荐(0) 编辑

该文被密码保护。 阅读全文
posted @ 2015-02-28 16:10 红桃J 阅读(8) 评论(0) 推荐(0) 编辑

2015年2月25日

摘要: 带参宏定义和inline修饰的内联函数都是在编译时,用函数体替换掉宏调用或函数调用。这样用的好处是减少调用函数所花费的时间。例如:算法导论在讲到堆排序时说的,好的堆排序实现一般是把Left(i),Right(i),Parent(i)的实现通过宏定义或内联函数来实现,这就是因为当我们对一组数据使用堆排... 阅读全文
posted @ 2015-02-25 12:11 红桃J 阅读(163) 评论(0) 推荐(0) 编辑

2015年2月4日

摘要: GET BUSY LIVIN‘ OR GET BUSY DYIN 阅读全文
posted @ 2015-02-04 12:01 红桃J 阅读(126) 评论(0) 推荐(0) 编辑

2014年12月11日

摘要: C++标准程序库 阅读全文
posted @ 2014-12-11 15:52 红桃J 阅读(165) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页