分治思想: 分治算法的思想就是 对于某些特定种类的问题 如果问题的规模很小,那么就直接解决,如果问题的规模比较大,那么就把问题先分解为规模小的但是问题相同的子问题 ,并且不断分解直到规模足够小,再递归地解决这些问题 如果原问题可分割成k个子问题,1 File Name: mergesort....
分类:
其他好文 时间:
2014-08-06 18:34:32
阅读次数:
311
分离链接法
hash table是映射机制的,最大的优点就是它的操作是O(1)级别的。但是会出现哈希冲突,这就需要几种办法来解决。这里先说一种:分离链接法。
就是当插入的位置已经存在一个值之后,那么在这个值之后插入,就可以了,也叫拉链法。(但是其实会降低查找速度,变成O(n)级别)
下面是代码:
//
// main.cpp
// HashTable_SeparateCha...
分类:
其他好文 时间:
2014-08-05 22:35:10
阅读次数:
246
前面做了栈的基本操作总感觉需要做一个实际的例子来检验一下。这里我将用栈来做一个简单的四则运算。目标比较简单:做一个带小括号(“()”)的四则运算,如果要加入到中括号(“[]”)或者大括号(“{}”),依次类推。求一个表达式:用下面这个算是做例子,程序最后应该可以算出任何带小括号的运算。3+(32-6...
分类:
其他好文 时间:
2014-08-05 21:52:30
阅读次数:
224
不相交集合 故名思意就是一种含有多个不相交集合的数据结构。典型的应用是确定无向图中连通子图的个数。其基本操作包括:Make-Set(x):建立一个新的集合,集合的成员是x;Union(x,y): 将包含x和y的集合合并为一个集合;Find-Set(x): 返回指向包含x的集合的指针;下面是一个例子,...
分类:
其他好文 时间:
2014-08-04 06:13:46
阅读次数:
218
迷宫城堡
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 7056 Accepted Submission(s): 3137
Problem Description
为了训练小希的方向感,Gardon建立了一...
分类:
其他好文 时间:
2014-08-03 12:46:35
阅读次数:
281
Given a binary tree, determine if it is height-balanced.
For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never diffe...
分类:
编程语言 时间:
2014-07-31 20:55:47
阅读次数:
197
Dinic 算法模板
Dinic算法是一种比较容易实现的,相对比较快的最大流算法。
求最大流的本质,就是不停的寻找增广路径。直到找不到增广路径为止。
对于这个一般性的过程,Dinic算法的优化如下:
(1)Dinic算法首先对图进行一次BFS,然后在BFS生成的层次图中进行多次DFS。
层次图的意思就是,只有在BFS树中深度相差1的节点才是连接的。
这就切断了原有的图中的许多...
分类:
其他好文 时间:
2014-07-31 13:30:26
阅读次数:
342
白天,只工作4个小时,具体 上午:9:30-11:00 一个半小时 下午:2:30-4:00 一个半小时 4:50-5:50 一个小时晚上工作1个小时 晚上:7:30-8:30 一个小...
分类:
其他好文 时间:
2014-07-31 09:42:25
阅读次数:
143
表达树就是根据后缀表达式来建立一个二叉树。
这个二叉树的每个叶子节点就是数,真祖先都是操作符。
通过栈来建立的,所以这里也会有很多栈的操作。
树的先序遍历,中序遍历,后序遍历的概念我就不讲了,不会的自行百度,不然也看不懂我的代码。
下面是代码:
//
// main.cpp
// expressionTree
//
// Created by Alps on 14-7-29.
//...
分类:
其他好文 时间:
2014-07-30 23:57:15
阅读次数:
554
树的解释
树是ADT里面很经典的数据结构了,应用太多了,相对于链表的线性访问时间,O(n)。树的大部分操作的平均运行时间都是为O(logN)。
- 树的概念
树有几种方式定义,一种是递归,若树不为空,则一棵树是由根(root)的节点r和0个或者多个非空树组成。N个节点的树,有N-1个边。没有儿子的节点称为叶子(leaf). 对于任意节点N(i),它的深度为从根节点到N(i)的唯一路径长度。如...
分类:
其他好文 时间:
2014-07-30 01:08:02
阅读次数:
253