算法
L_hunter
希望和大家多交流。。共同进步!!
展开
-
八皇后问题递归和非递归算法
大名鼎鼎的八皇后问题。相信大家都耳熟能详。 八皇后的是一个典型的用回溯法求解的问题。在回溯法中的一个关键是要动态保存求解空间对应的程序所处的状态,特别是能够进行状态“回滚”。当一发现个部分解再往下去不能成为合法的解时,要回溯到这个部分解之前所处的状态。程序状态的“前进”和“回滚”用Ban和UnBan函数来实现。//ban the column,row,diagonal el原创 2013-03-16 13:55:59 · 2714 阅读 · 0 评论 -
如何完美地取样?
对于n个样本,如何均匀随机的取出m个样本?即n个样本中每个样本都能有m/n的概率被取中。 1.简单插入取样 这是最基本,最直观的方法。在一个初始为空的集合中插入1~n的随机整数,知道个数为m个为止。但这个方法有个弱点,就是要插入一个数时,判断集合中是否存在该数,如果其存在,则要继续取样直到取到一个不在原集合中的数,重复取样需要很大的开销,而且越到后来开销越大。 2.Floy...原创 2013-04-16 15:52:07 · 1277 阅读 · 0 评论 -
经典同步问题linux下的C实现:生产者-消费者问题,读者-写者问题,哲学家问题
1.生产者-消费者问题/*=============================================================== * File Name : producerConsumerProblem.c * Creation Date : 2013-04-11 * Last Modified : 2013年04月11日 星期四 20时53分13原创 2013-04-11 22:36:41 · 4438 阅读 · 7 评论 -
并查集的来龙去脉
1 并查集的思想:已知:1)很多个元素有着一个属性值,这些属性与其他元素的属性值或相同或不相同; 2)我们不知道每个元素的属性值,但知道一些两个元素之间属性值相等的关系——等价关系(有自反性,对称性,传递性); 目标: 根据等价关系将所有元素划分到对应的等价类中去,每个等价类中的元素两两之间都存在着等价关系。算法:1)将所以的元素初始化为独立的集合;原创 2013-09-15 21:33:48 · 1464 阅读 · 0 评论 -
红黑树C++完整源码
// RBTree.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;templateclass RB_Tree{ class RB_Node; enum Color {BLACK,RED};public: RB_Tree(); bool Insert(原创 2012-10-22 20:55:32 · 9617 阅读 · 0 评论