图的遍历指的是从图中的任一顶点出发,对图中的所有顶点访问一次且只访问一次。图的遍历操作和树的遍历操作功能相似。图的遍历是图的一种基本操作,图的许多其它操作都是建立在遍历操作的基础之上。图的遍历方法目前有深度优先搜索法和广度(宽度)优先搜索法两种算法。深度优先搜索法DFS深度优先搜索法的基本思想是:从...
分类:
其他好文 时间:
2014-06-27 22:09:35
阅读次数:
310
这个题的意思就是给定一个序列,判断这个序列是否是某个二叉排序树的后序遍历序列,这个算法的方法主要是根据后序遍历的性质,首先这个序列的最后一个元素肯定是根元素,然后将序列从左往右遍历,找到第一个大于根元素的点,这个点左边的肯定是当前根的左子树,这个点的右边肯定是当前根的右子树,继续向后遍历,看右子.....
分类:
其他好文 时间:
2014-06-26 00:18:44
阅读次数:
280
前/中/后缀表达式的转换 自然表达式转换为前/中/后缀表达式,其实是很简单的。首先将自然表达式按照优先级顺序,构造出与表达式相对应的二叉树,然后对二叉树进行前/中/后缀遍历,即得到前/中/后缀表达式。 举例说明将自然表达式转换成二叉树: a×(b+c)-d ① 根据表达式的优先级顺序,首先计算(b+...
分类:
其他好文 时间:
2014-06-26 00:03:03
阅读次数:
269
原文:06. 父子节点(树)遍历写法小结对于树/图的遍历,通常有2种算法来实现:迭代(Iteration)和递归(Recursion),迭代是利用循环反复取值/赋值的过程;递归则是反复自己调用自己来获得最终结果。SQL Server里的递归有32层嵌套限制,目的在于防止代码进入死循环,除非使用提示O...
分类:
其他好文 时间:
2014-06-25 23:44:46
阅读次数:
276
1时间复杂度分析由于该图采用邻接矩阵存储,整个算法遍历的过程所花费的时间复杂度为该矩阵的N(row*col)。而由于其需要分别访问已经定位,需要进行分别2次操作,如下:visited=newbool[col*row];//访问标记for(i=0;i#include#include#include#i...
分类:
其他好文 时间:
2014-06-25 22:11:11
阅读次数:
235
题目:输入一个整数数组,判断该数组是不是某个二叉搜索树的后序遍历序列假设输入的数组的数字均不相同解题分析:对于二叉搜索树,中序序列一定是升序的,我们将后序遍历序列排序,结果即为 中序遍历序列如果该后序遍历序列是正确的,那么 由 中序遍历序列和后序遍历序列 一定可以构建一棵二叉树如果不能成功构建一棵二...
分类:
其他好文 时间:
2014-06-24 14:10:18
阅读次数:
166
1>GCD,全称Grand Central Dispatch,”牛逼的中枢调度器”,纯C语言,提供了非常多强大的函数2>GCD优势:(1)GCD是苹果公司为多核的并行运算提出的解决方案(2)GCD会自动利用更多地CPU内核(双核,四核等)(3)GCD会自动管理线程的生命周期(创建线程,调度任务,销毁...
分类:
编程语言 时间:
2014-06-24 11:54:27
阅读次数:
273
1.线程的状态NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];[thread start];2.控制线程状态2.1>启动线程 -(void)start; //进....
分类:
编程语言 时间:
2014-06-24 11:53:02
阅读次数:
233
1.多线程的安全隐患1.1>一块资源可能被多个线程共享,也就是多个线程可能会访问同一块资源,如多个线程访问同一个对象,变量,文件等当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题1.2>安全隐患示意图:1.3>安全隐患的解决办法:互拆锁1.4>互斥锁的使用格式@synchronized(...
分类:
编程语言 时间:
2014-06-24 11:47:01
阅读次数:
298
1.原子和非原子属性1.1>OC在定义属性时又nonatomic和atomic两种选择(1)atomic:原子属性,为setter方法加锁(默认就是atomic)(2)nonatomic:非原子属性,不会为setter加锁1.2>atomic加锁原理@property (assign,atomic)...
分类:
其他好文 时间:
2014-06-24 11:39:45
阅读次数:
205