代码如下: 1 public class MergeSort { 2 3 public static void sort(int [] A,int p, int r) 4 { 5 if(p X)16 j--;17 ...
分类:
编程语言 时间:
2015-01-29 23:49:57
阅读次数:
218
上一篇讲了贪心算法来解活动选择问题(【算法导论】贪心算法之活动选择问题),发现后面有一道练习16.1-1是要用动态规划来解活动选择问题。其实跟之前的矩阵链乘法有些相似,也是考虑分割的活动是哪一个,并用二维数据来记录Sij---最大兼容集合个数,和用另一个二维数据来记录Sij取得最大时的活动分割点k。然后就是考虑边界问题,和使用递归来求动态规划的最优解。
#i...
分类:
编程语言 时间:
2015-01-28 22:36:17
阅读次数:
408
//
// 五条属性:
// 1.每个节点或是红色的,或是黑色的。
// 2.根节点是黑色的。
// 3.每个叶结点(NIL)是黑色的。
// 4.如果一个结点是红色的,则它的两个子结点都是黑色的。
// 5.对每个结点,从该结点到其所有后代叶结点的简单路径上
// 均包含相同数目的黑色结点。
//
//http://blog.csdn.net/v_JULY_v/article/details/...
分类:
其他好文 时间:
2015-01-28 16:06:49
阅读次数:
176
-------------------注明----------------以下内容来自于《算法导论》 lz新手,存在各种错误以及各种不合理的地方望大家指出堆排序时间复杂度为O(nlgn),并且就有空间原址性:任何时候都只需常数个额外的元素空间存储临时数据6.1 堆堆是一个数组,但可以被看做近...
分类:
编程语言 时间:
2015-01-28 06:09:16
阅读次数:
278
C++的话,建议还是看《C++ Primer》,然后看《Effective C++》、《More Effective C++》和《Effective STL》,这一套书对C++的核心解析的很不错。特别是《C++ Primer》里面有很多语言规范和注意事项都说的很清楚。
如果想继续提高的话,可以看看《深度探索C++ 对象模型》、《Imperfect C++》等等。对面向对象感兴趣,可以...
分类:
编程语言 时间:
2015-01-26 11:59:10
阅读次数:
485
一、队列(queue)
思想:队列实现的是一种先进先出(first-in,first-out,FIFO)策略。(《算法导论》)
定义:队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。(《大话数据结构》)...
分类:
其他好文 时间:
2015-01-22 18:20:02
阅读次数:
278