![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 76
Panjinbo_
这个作者很懒,什么都没留下…
展开
-
图的BFS和DFS学习笔记
研究一个图,很重要的一个问题便是图的遍历,该问题最简单的描述便是从连通图的一个结点出发,按照一定的顺序经过图的每一个结点,使得每个结点只经过一次,并且在经过结点时对该结点进行一定的操作,当图中所有的结点都被访问过后,遍历结束(当图不是连通的时候,遍历图则需要从不同连接块中各自选择一个结点进行遍历)。 而我们在该问题中所关注的是遍历的顺序以及遍历中的操作。寻找这个顺序,我们可以解决一些比如寻找原创 2014-04-27 13:18:57 · 767 阅读 · 0 评论 -
图的最短路径学习笔记
对一个连通图,我们可以构造一个每条边到实数R的映射w,则一条路径(e1,e2,...,en)的长度可以表示为l=w(e1)+w(e2)+...+w(en)。图中两点间可能存在多条路经,而在这些路径中长度最短的为这两点间的距离。而图的最短路径问题便是寻找这个距离,以及输出得到这个距离的路径。(1)从一个固定顶点到其他顶点的距离a.当每条边的权值为1的时候,可以用BFS在访问每个结点时设定一定原创 2014-04-27 13:20:33 · 787 阅读 · 0 评论 -
生产者/消费者问题学习笔记
问题描述:有一个或多个生产者生产出某种类型的数据,并将其放置在缓存区中;有一个消费者从缓存区中取数据,每次取一项;在任何时刻只有一个消费者或者生产者可以访问缓存区;当缓存区已满时,生产者不会继续向其中添加数据;当缓存区为空时,消费者不会从中移走数据。(1)使用二元信号量解决无限缓冲区生产者/消费者问题int n; //缓冲区的数据数量binary_semaphore s=1,delay原创 2014-05-28 17:26:59 · 1893 阅读 · 0 评论 -
图的最小生成树学习笔记
对一个连通图G=(V,E),每条边到实数R的映射为w,我们可以构造生成树T=(V,E'),其中E'是E的子集,w(T)=w(e1)+w(e2)+...+w(en),ei属于E'。而图的最小生成树问题则是寻找这一系列生成树中,w(T)最小的那棵,即为图的最小生成树MST。 所有关于最小生成树的算法都涉及贪心算法,即局部最优会得到全局最优。 算法的中心思想是,去掉MST中的某条边e,MST原创 2014-05-26 16:27:17 · 587 阅读 · 0 评论 -
动态规划状态压缩题解
综述: 很多常见问题的算法都有一个多项式上限的时间复杂度,我们称这种问题为P问题。但现实生活中,很多问题我们怀疑其并没有多项式时间复杂度的解,这样的问题称为NP问题。这类问题,虽然在其潜在解空间进行搜索,可以得到正确结果,但其花费的时间难以接受。而采用状态压缩,进行动态规划往往能较好的解决一些NP问题。 状态压缩的核心是将状态用整数的二进制表示,状态转移则表示为二进制串之间的按原创 2014-09-17 17:07:30 · 815 阅读 · 0 评论