1.二叉树的非递归中序遍历算法 二叉树的中序遍历方法是:左中右,因此一开始会顺着根节点的左孩子一直往下(这点和先序遍历一样,这也是二者前面部分代码很相似的原因),到最后一个左孩子时尝试把它的右孩子塞进栈内,然后顺着它的的左孩子而下,直到不能访问为止。利用的栈FILO的特性,对每个节点都进行顺左孩子而 ...
分类:
编程语言 时间:
2019-07-28 21:27:44
阅读次数:
121
把代码粘贴出来,没用注释都去掉。 凡事new出来的都是堆当中 对于对象来说,他的成员方法实际上保存的是它的地址。看绿色箭头的部分 红色箭头部分 根据one可以找到0x666的堆,成员变量直接就是红色部分,成员方法是红色先,然后再走绿色部分。 call方法要想运行,也要进栈,进栈为什么也叫做压栈。ma ...
分类:
编程语言 时间:
2019-07-16 14:05:41
阅读次数:
127
栈的概念 栈是用来存储逻辑关系为 "一对一" 数据的线性存储结构,如图 1 所示。 栈只能从表的一端存取数据,另一端是封闭的,如图 1 所示; 在栈中,无论是存数据还是取数据,都必须遵循"先进后出"的原则,即最先进栈的元素最后出栈。 拿图 1 的栈来说,从图中数据的存储状态可判断出,元素 1 是最先 ...
分类:
其他好文 时间:
2019-07-13 13:45:09
阅读次数:
125
T1菜肴制作:拓扑排序+大根堆 卡了好一会儿才过掉。正序拓扑的话贪心策略会出错。 保证先输出小的,倒序拓扑保证先搞大的。然后插到大根堆里。 每次取出最大的(堆顶)进行拓扑扩展。pop出来的直接扔进栈里。 多判有点恶心。记得清空(我就因为tot没清空,样例第三组单测正确,多测就错。。) 还有一个特殊判 ...
分类:
其他好文 时间:
2019-07-13 13:19:35
阅读次数:
99
"1101 火车进栈" dfs题,亏我想了那么久。。。 "POJ2559 Largest Rectangle in a Histogram " 单调栈。 我们假设已经选定了某一个高度,得到了一个确定的长度。 现在我们向后扫,由于我们在当前高度已经最长了,所以接下来肯定会变小。那多余的部分我们就可以都 ...
分类:
其他好文 时间:
2019-07-08 00:38:22
阅读次数:
158
// main.cpp // stack_quhao // Created by duanqibo on 2019/6/29. // Copyright © 2019年 duanqibo. All rights reserved. // 顺序栈的操作,整数进栈,取栈顶元素,栈内剩余元素 #inclu ...
分类:
其他好文 时间:
2019-06-29 19:30:44
阅读次数:
117
1.一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 A.edcba B.decba C.dceab D.Abcde 答:C 2. 己知循环队列存储在一维数组A[O…n-1]中,且队列非空时front和rear分别指向队头元素和队尾元索。若初始时队列为空,且要求第1个进入队列的元素存储 ...
分类:
编程语言 时间:
2019-06-06 14:19:10
阅读次数:
206
数组的表达形式: 类型 数组名[常量表达式] 如:int arr[10];char brr[10]; 对数组名和数组地址的测试//以下每次运行地址都是随机值,函数每次进栈都会有不同的地址,但地址关系一样 #include <stdio.h> #include <string.h> //数组名是数组首 ...
分类:
编程语言 时间:
2019-06-01 09:36:05
阅读次数:
117
内存溢出和内存泄漏的区别 1.1内存溢出:(Out Of Memory OOM) 系统已经不能再分配出你所需要的空间,比如你需要100M的空间,系统只剩90M了,这就叫内存溢出 例子:一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出。比方说栈,栈满时再做进栈必定产生空 ...
分类:
其他好文 时间:
2019-05-21 19:32:18
阅读次数:
176