![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 68
yulin11
这个作者很懒,什么都没留下…
展开
-
排列组合算法
全排列 /* 分析:设R= {r1,r2,r3,……,rn}是要进行排列的n个元素,Ri=R-{ri}。集合X中的元素的全排列记为perm(X).(ri)perm(X)表示在全排列perm(X)的每一个排列前加上前缀ri得到的排列,R的全排列可归纳定义如下: 当n=1,perm(R) = (r) ,其中r是集合R中唯一的元素。 当n>1,per原创 2009-07-11 19:34:00 · 504 阅读 · 0 评论 -
关于用两个栈实现一个队列的小问题
记住进除首删除元素的时候是如果出队列的栈不为空,则直接弹出一个元素即可,如果出队列的栈空,则需要将另一个栈的元素导入出栈中,然后再弹出一个元素.原创 2009-08-11 20:30:00 · 438 阅读 · 0 评论 -
二分图最大匹配(匈牙利算法)
算法轮廓:(1)置M为空(2)找出一条增广路径P,通过取反操作获得更大的匹配M’代替M(3)重复(2)操作直到找不出增广路径为止V2: #include #include using namespace std;const int MAXN = 100 ;int uN, vN; // u,v数目 bool g[MAXN原创 2009-07-27 21:29:00 · 875 阅读 · 0 评论 -
一随机数以概率 p 生成0,以概率(1-p)生成1,怎样生成等概率的 0 和 1 ?
网站价值这涉及到概率 分布的内容了,其实也简单只要能找到一个概率为1/2p的函数就解决了. 另外还有一个比较方便的实现: 一随机数f(x)以概率 p 生成0, 那么设g(x)=f(x)>0?0:1; 刚g(x)以概率 1-p 生成0. 所以f(x),g(x)同时生成0的概率为p(1-p)等于同时生成1的概率. 得等概率随机数 function g(x){原创 2009-09-19 10:27:00 · 5967 阅读 · 1 评论 -
带权二分图的最优匹配 Kuhn-Munkres算法
网站价值分工问题如下:某公司有工作人员x1,x2,...,xn,他们去做工作y1,y2,...,yn,每人适合做其中的一项或几项工作,每个人做不同的工作的效益不一样,我们需要制定一个分工方案,使公司的总效益最大,这就是所谓最佳分配问题, 它们数学模型如下:数学模型: G是加权完全二分图,V(G)的二分图划分为X,Y;X={x1,...,xn},Y={y1,y2,...yn转载 2009-07-27 21:05:00 · 13995 阅读 · 4 评论 -
判断单链表是否存在环,判断两个链表是否相交问题详解
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如果找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针转载 2009-07-14 17:01:00 · 320 阅读 · 0 评论 -
求两数的最小公倍数
/** * 求最大公约数和最小公倍数 */ public class Convention { /** * 求两数的最大公约数 */ int divisor(int m,int n){ if(m%n==0){ return n; }else{原创 2009-07-12 10:21:00 · 434 阅读 · 0 评论 -
一个关于图的面试题(未解)
题目: 给定一个有n个顶点的图G=(V,E),请设计一个算法计算G中两两连接的4个顶点(即四边形)的数目, 如果没有,输出NOT EXIST,说明你所使用的方法以及时间和空间复杂度。原创 2009-07-12 00:14:00 · 496 阅读 · 0 评论 -
非标准二分搜索
问题:例如:一个数组a[]={11,12,15,18,20,65,2,5,8,9}数组特点:局部有序递增,前一部分总体大于后一部分,查找一个key的算法:要求:高效,时间复杂度不是O(n)(具体多少我也不知道,可以是log(n)吧)用到数组的特点,快速排序,希儿排序,归并排序等,暂时还不能考虑 解决算法:[l ... m ... r]if (m == key)原创 2009-07-11 23:39:00 · 388 阅读 · 0 评论 -
trie树结构
Trie树就是字符树,其核心思想就是空间换时间。举个简单的例子。给你100000个长度不超过10的单词。对于每一个单词,我们要判断他出没出现过,如果出现了,第一次出现第几个位置。这题当然可以用hash来,但是我要介绍的是trie树。在某些方面它的用途更大。比如说对于某一个单词,我要询问它的前缀是否出现过。这样hash就不好搞了,而用trie还是很简单。现在回到例子中,如果我们原创 2009-07-12 15:54:00 · 580 阅读 · 0 评论