这里的图的深度优先算法利用了栈来实现。 图的深度遍历原则: 1 如果有可能,访问一个领接的未访问的节点,标记它,并把它放入栈中。 2 当不能执行规则 1 时,如果栈不为空,则从栈中弹出一个元素。 3 如果不能执行规则 1 和规则 2 时,则完成了遍历。 代码中的图使用的是Graph 图-邻接矩阵法 来表示,其他的表示法请见:Graph 图-邻接表法 代码中的Stack为辅助结构,用来记载访问过的节点。栈的详细描述可以见:ArrayStack 栈 ,LinkedStack 栈 。 Vertex表示图中的节点,其中包含访问,是否访问,清除访问标志的方法。 Graph [阅读全文] [PDF]
这段代码好像不怎么常见,所以发上来给大家研究一下看看。 #include<stdio.h> #include<malloc.h> #defineINFINITY32767 #defineMAX_VEX20//最大顶点个数 bool*visited;//访问标志数组 //图的邻接矩阵存储结构 typedefstruct{ char*vexs;//顶点向量 intarcs[MAX_VEX][MAX_VEX];//邻接矩阵 intvexnum,arcnum;//图的当前顶点数和弧数 }Graph; //图G中查找元素c的位置 intL [阅读全文] [PDF]
1 共2条 分1页
- flexsdk:使用 Flex SDK 实现一个 Facebook 相册
- silverlight:[Silverlight] 有关线程调用的扩展思路方法
- silverlight播放器:Silverlight专题(15) - 你自己的视频播放器的自定义MoveToPointSlider
- silverlight:Silverlight专题(14) - 基于Silverlight的Live Search图片搜索
- actionscript3.0:ActionScript 3.0 Step By Step系列文章
- actionscript3.0:ActionScript 3.0 Step By Step系列(一):工欲其善 先利其器(Flex Builder)
- actionscript3.0:ActionScript 3.0 Step By Step系列( 2):建立扎实的ActionScript 3.0语法基础
- actionscript:ActionScript 3.0 Step By Step系列( 3):学学流程控制 编编if-else & switch & while & for
- actionscript3.0:ActionScript 3.0 Step By Step系列( 4):来自面向对象开发的前的呐喊: 学会写可重用的代码
- actionscript3.0:ActionScript 3.0 Step By Step系列( 5):走在面向对象开发的路上 以类为基础去研究编程问题
- actionscript3.0:ActionScript 3.0 Step By Step系列( 6):学对象事件模型 从点击按扭开始
- actionscript3.0:ActionScript 3.0 Step By Step系列( 7):使用XML和XMLList类处理XML数据
- actionscript3.0:ActionScript 3.0 Step By Step系列( 8):动态的数据展现源于灵活的数据绑定
- actionscript3.0:ActionScript 3.0 Step By Step系列( 9):使用样式(style)和皮肤(Skin)两大画笔为应用程序界面画妆
- flex自定义组件:使用FLEX进行多文件上传和自定义上传信息
- flash图表:Flash图表(FusionChartsV3)的简单应用
- richtexteditor:Flex中如何控制鼠标移出RichTextEditor编辑范围外的时候隐藏其工具栏的例子
- flex自定义控件:Flex中如何利用textFieldStyleName样式自定义ColorPickerControl控件内文本风格的例子
- flex样式:Flex中如何利用swatchGridBackgroundColor样式设置ColorPicker的样本颜色网格背景颜色的例子
- colorpicker:Flex中如何利用swatchHighlightSize样式设置ColorPickerControl控件加亮边框粗细尺寸的例子