码迷,mamicode.com
首页 >  
搜索关键字:调用栈    ( 403个结果
中序遍历二叉树+O(1)空间
问题描述中序遍历二叉树时,很简单,需要加上递归就可以优雅地实现了。当然,使用递归的话,函数调用栈的空间就会达到O(log n)。那么有什么方式,可以使得中序遍历二叉树的复杂度为O(1)呢?问题分析既然要保证O(1)复杂度,那么就不能使用递归调用了。目标方案应该是使用while或for循环的方式。下面借用一张图来解释(来源:http://www.2cto.com/kf/201402/277873.ht...
分类:其他好文   时间:2015-06-22 11:05:39    阅读次数:205
现代编译原理--第五章(活动记录)
第五章是到目前位置最让我头疼的一章,不是因为难,是因为对最终的目的不太明确。整章前半部分用十分精简的语言介绍了一个新的概念,活动记录,也就是在函数调用时,一个调用栈究竟发生了什么事。但是,在最终编码实现过程中,总不能理解作者为什么给了这些变量?或者说,完全不知道作者究竟想让我完成一个怎样的功能...
分类:其他好文   时间:2015-06-07 23:32:48    阅读次数:446
第四节:抛出异常
实现自己的方法时,如果方法无法完成方法名指定的任务,就应抛出一个异常,抛出异常时要考虑两个问题。第一个问题是抛出什么Exception派生类型。应选择一个有意义的类型。要考虑调用栈中位于高出的代码,要知道那些代码如何判断一个方法失败,以便执行一些得体的恢复代码。可直接利用FCL中定义好的一个类型,....
分类:其他好文   时间:2015-06-01 22:07:16    阅读次数:122
顺序栈的简单操作
今天简单的实现了一下顺序栈,栈的核心函数是push(),top(),pop()。首先是我自己编写的栈,后面是STL标准库调用栈函数。 sqstack.h //栈的简单实现lifo #ifndef SQSTACK_H_ #define SQSTACK_H_ const int DEFAULT_SIZE=10; #include using std::cout; using std::endl;...
分类:其他好文   时间:2015-05-25 18:49:44    阅读次数:184
理解ThreadLocal背后的概念
介绍 我之前在任何场合都没有使用过thread local,因此没有注意到它,直到最近用到它的时候。前提信息 线程可以理解为一个单独的进程,它有自己的调用栈。在java中每一个线程都有一个调用栈或者说每一个调用栈都有一个线程,即使你不在你的程序中创建线程,线程仍然会在你不知道的情况下运行。最简单.....
分类:其他好文   时间:2015-05-24 00:06:41    阅读次数:98
程序的内存布局——函数调用栈的那点事
[注]此文是《程序员的自我修养》的读书总结,其中掺杂着一些个人的理解,若有不对,欢迎拍砖。 程序的内存布局 现代的应用程序都运行在一个虚拟内存空间里,在32位的系统里,这个内存空间拥有4GB的寻址能力。现代的应用程序可以直接使用32位的地址进行寻址,整个内存是一个统一的地址空间,用户可以使用一个32位的指针访问任意内存位置。 在进程的不同地址区间上有着不同的地位,...
分类:其他好文   时间:2015-05-22 00:34:56    阅读次数:112
数据结构预备知识——递归
递归就是函数间接的调用自己, 它的实现基于函数参数传递的栈机制, 每次递归递归调用都会多一个栈帧——和简单的函数调用并没有什么不同 (都是使用了调用栈)。调用自己和调用其它函数并没有本质的区别, 都是建立新栈帧, 传递参数并修改当前代码行。在函数体执行完毕后删除栈帧, 处理返回值并修改当前代码行。....
分类:其他好文   时间:2015-05-17 21:39:51    阅读次数:132
Java函数调用栈
Java的函数调用栈就是Java虚拟机栈,它是线程私有的,与线程一同被创建,用于存储栈帧。 栈帧随着方法的调用而创建,随着方法的结束而销毁。可以说栈帧是方法的抽象。 于是,可以通过打印出Java虚拟机栈中的栈帧信息来了解函数调用过程。用于实现这个过程的Java代码如下: package methodcall; public class Methods { public void meth...
分类:编程语言   时间:2015-05-17 12:22:19    阅读次数:488
XCode Debugger中的Icon符号的意义
你注意到了吗?在Xcode中,当你点击查看调用栈的时候,调用栈的每个方法前面都有一个Icon,而且还有好几种不同的样子,如下图所示,你知道它们代表什么意思吗?其实它们代表的意义如下:Person icon is UserMug icon is AppKit (or UIKit)Briefcase i...
分类:其他好文   时间:2015-05-13 16:12:52    阅读次数:130
一些建议
我的意见是,忘记java或者c#的对立,如果要做一个开心、有自我追求、同时满足就业的程序员,你需要重视以下方面:函数调用栈,这个很多高级程序员只知其然不知其所以然。你可以不懂的汇编、函数入口、返回地址、寄存器,但你需要调试,你得深刻理解函数调用栈,无论是在dev模式调试struts开发的jsp页面,...
分类:其他好文   时间:2015-05-12 10:54:21    阅读次数:96
403条   上一页 1 ... 32 33 34 35 36 ... 41 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!