
算法
文章平均质量分 57
Colin丶c
这个作者很懒,什么都没留下…
展开
-
经典算法之拓扑排序
定义:把AOV网(用定点表示活动,用弧表示活动间优先关系的有向图)络中各个顶点按照它们互相之间的优先关系排列成一个线性序列的过程叫做拓扑排序。方法:在有向图中选一个没有前驱的顶点并且输出 从图中删除该顶点和所有以它为尾的弧,即删除所有与它有关的边。 重复上述两步,直至全部顶点均已输出;或者当图中不存在无前驱的顶点为止。例题:首先我们找到无前驱顶点C1和C9,我们删除掉C1...原创 2018-07-16 21:32:45 · 27613 阅读 · 7 评论 -
经典算法之关键路径
问题提出:设一个工程有11项活动,9个事件,事件V1 ----- 表示整个工程开始,事件V9 ----- 表示整个工程结束。每个事件的开始必须是它之前的活动已完成。例如:事件V2,V3,V4的开始必须是活动a1,a2,a3完成了。这时我们会关注两个问题:(1)完成整个项目需要多少时间?(2)哪些活动是影响工程进度的关键?定义:关键路径:AOE-网中,从起点到终点最长...原创 2018-07-19 16:29:56 · 12626 阅读 · 5 评论 -
经典问题之汉诺塔
问题描述:相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如下图)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。思路:以3层...原创 2018-07-20 11:02:09 · 857 阅读 · 0 评论 -
经典问题之八皇后问题
问题描述:八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后,为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。思路:我们先来考虑,某个位置是否能够放皇后,如下图两个皇后的位置是<1,1>,<2,3>,那么接下来的第三个皇后该怎么放呢?1、设row为行,col...原创 2018-07-20 10:11:40 · 526 阅读 · 0 评论 -
经典算法之Kruskal算法
作用:生成最小生成树,与prim算法不同的是,prim是以顶点为关键来生成最小树的,而Kruskal是以边为关键来生成最小数。方法:1、将v个顶点,l条边的图G中所有的边按权值大小从小到大排序,这一步可以直接用库函数qsort或者sort。2、从权值小的边开始依次选取,若选取的边使生成树T不形成回路,则选之;若选取的边使生成树形成回路,则将其舍弃;如此进行下去,直到选取v-1条边为...原创 2018-07-22 22:33:04 · 15867 阅读 · 0 评论