算法分析:
循环算法和递归算法 无论时间效率还是空间效率都是前者高。递归算法在运行时,函数调用保存现场、开辟运行资源、返回回收资源都需要耗时。递归算法的参数表面是一个变量,实际上市一个栈。
结论1:
递归确实是一些复杂的问题处理起来简单明了,但是,就效率而言,递归算法的实现往往比循环算法耗费更多的时间和存储空间,也限制了递归的深度。所以,在具体的实现中,应尽可能把递归算法转换为等价...
分类:
其他好文 时间:
2014-06-20 13:18:09
阅读次数:
170
一直想要写的 二叉树 中序 先序 后序遍历算法
递归的太简单了,就不写了。关键是非递归版本。
先序:
我自己的版本:
void RootPreTraverse(Node* p)
{
Stack S;
while(S not empty)
{
p=S.top();
S.pop();
Show(p);
if(p->right!=null)
S...
分类:
其他好文 时间:
2014-06-20 10:55:49
阅读次数:
279
core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump. (linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)
在程序运行的过程中,有的时候我们会遇到Segment fault(段错误)这样的错误。这种看起来比较困难,因为没有任何的栈、trace信息输出。该种类型的...
分类:
数据库 时间:
2014-06-20 09:56:07
阅读次数:
299
需求
输入密码字符串,与设定的密码“1234567”进行比较,两者相符则输出"congratulations!”,不符则输出“try again!”。程序bug
实际运行过程中发现,输入某些8位字符串,如33333333,也会得到"congratulations!”,这与预期功能不符。出现bug.....
分类:
其他好文 时间:
2014-06-07 11:21:46
阅读次数:
215
题目:用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和
deleteHead,分别完成队列尾部插入结点 和
队列头部删除结点AppendTail:直接将元素入栈stack1DeleteHead:当stack2中不为空时,在stack2中的栈顶元素是最先进入队列的元素...
分类:
其他好文 时间:
2014-06-07 07:06:14
阅读次数:
232
Linux驱动:角色:应用程序 API 操作系统 驱动
实际硬件功能:1.对设备进行初始化和释放2.把数据从内核传送到硬件和从硬件读取数据3.检测和处理设备出现的错误Linux驱动程序类型:字符设备:由文件系统管理
(通过设备文件访问)块设备:由文件系统管理网络设备:由协议栈管理 (通过socke....
分类:
系统相关 时间:
2014-06-06 15:55:44
阅读次数:
451
在C#语言中,符合公共语言规范(CLS)的数据类型可分为两类:值类型和引用类型。这两者有很大的区别,其中值类型变量直接保存变量的值,引用类型的变量保存的是数据的引用地址。
当把一个值变量赋给另一个值变量,会在堆栈中保存两个完全相同的值,每个变量都有自己的值,因此对一个变量的操作不会影响到其他变量.....
分类:
其他好文 时间:
2014-06-06 09:26:17
阅读次数:
260
这些东西都是参考《Linux
C编程一站式学习》,在看这本书的gdb这块的时候,把这些总结性的东西记录下来方便以后复习,这些东西吧其实在一年前就已经看过了的,但是缺少笔记总是记不住
命令描述backtrace(bt)参考各级函数调用及参数的堆栈信息finish一般是配合step使用,当step跳入....
分类:
数据库 时间:
2014-06-05 18:59:42
阅读次数:
311
【题解】:经典的区间dp,并且记录下了dp的path因为是递归得到的path,所以递归压栈按从里到外的顺序得到path就可以了输出嵌套括号部分很好的考察了对栈的理解,和递归执行的顺序。注意题目输出中有的地方有空格
1 //zoj1276 路径输出用到了栈的思想,比较考验思维 2 #include.....
分类:
其他好文 时间:
2014-06-05 18:09:06
阅读次数:
224