简述树的深度优先及广度优先遍历算法,并说明非递归实现。原题出自百度的笔试:当时我看到这个题目的时候,已经完全记不得非递归算法该怎么实现了,后来查阅了一下,要用到两个辅助的数据结构:深度优先遍历--->栈;广度优先遍历--->队列;这里以二叉树为例来实现。import
java.util.ArrayD...
分类:
其他好文 时间:
2014-05-20 02:33:07
阅读次数:
425
Java内存分配:1. 寄存器:我们在程序中无法控制 2.
栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 3. 堆:存放用new产生的数据 4.
静态域:存放在对象中用static定义的静态成员 5. 常量池:存放常量 6. 非RAM存储:硬盘等永久存储空间 -----...
分类:
其他好文 时间:
2014-05-19 23:44:20
阅读次数:
446
转载:http://bbs.csdn.net/topics/90317145http://blog.chinaunix.net/uid-26817832-id-3347227.html帧指针
和栈指针到底是什么,有什么联系吗FP帧指针指向帧头SP栈指针指向栈顶大部分现代计算机系统使用栈来给进程传递参...
分类:
其他好文 时间:
2014-05-19 21:00:52
阅读次数:
1047
栈与队列都是具有特殊存取方式的线性表,栈属于先进后出(FILO),而队列则是先进先出(FIFO)。栈能够将递归问题转化为非递归问题,这是它的一个重要特性。除了FILO、FIFO这样的最普遍存取方式外,还有一些扩展的数据结构,如双端队列、双栈、超队列、超栈等,它们是一种扩展与变异结构。
线性表有...
分类:
编程语言 时间:
2014-05-19 11:36:46
阅读次数:
369
出题:把二元查找树转变成排序的双向链表。输入一棵二元查找树,要求将该二元查找树按照中序转换成一个排序的双向链表,要求不能创建任何新的节点,只能调整指针的指向;分析:递归的思路,当前节点需要进行的处理,并使用递归调用和返回值将子问题链接起来;首先明白二元查找树的特性,变成有序双向链表后当前根节点的左节...
分类:
其他好文 时间:
2014-05-19 10:02:49
阅读次数:
381
一、引入类型与值类型简介
值类型:直接存放于栈中,取的时候是直接取得值。值类型继承自System.ValueType。(自定义对象)
引用类型:存在于托管堆中,取的时候是从栈取该对象的地址,然后用这个地址去托管堆中取值。引用类型继承自System.Object。(int,bool,struct).....
分类:
其他好文 时间:
2014-05-17 17:58:48
阅读次数:
181
http://blog.chinaunix.net/uid-21411227-id-2780269.htmlOSI/RM(Open
System Interconnection/Reference
Model)——开放系统互连参考模型,1983年ISO颁布的网络体系结构标准。从低到高分七层:物理层、...
分类:
其他好文 时间:
2014-05-17 14:56:53
阅读次数:
254
回文:字符对称排列的字符串,例如ABCBA思路:根据队:先进先出和栈:
先进后出的原则,进行比较出队和出栈的字符是否相等。如果相等,则为回文。创建控制台应用程序。 1 #region 字符节点类 2 class CharNode 3
{ 4 ...
分类:
其他好文 时间:
2014-05-16 00:48:54
阅读次数:
389
在这之前,你要知道Task就是一个堆栈,栈顶的activity就是当前显示的activity,启动一个新的activity的时,一般直接压入堆栈,并成为当前运行的activity,前一个activity仍然在堆栈中,按下back键时,当前activity出栈,而前一个恢复为当前运行的activity...
分类:
其他好文 时间:
2014-05-16 00:40:58
阅读次数:
521
这周有位新同事请我帮忙看一个关于信号处理的问题,程序希望在收到一个信号后退出,而他在信号处理方法里却做了许多事,包括释放一些全局内存等。这样问题就产生了,程序不定时的就挂死了,用gdb一看,所有的线程都挂在了pthread_once方法里,而似乎每个线程都在处理信号,其中产生问题的线程堆栈如下:Thread 1 (Thread 0x7f41252f3720 (LWP 31542)):#0 0x00...
分类:
其他好文 时间:
2014-05-15 19:33:14
阅读次数:
248