阅读目录 栈 stack 队列 链表 数组 字典实现原理 NSDictionary 树 B-tree/B+tree 栈 stack 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,把另一端称为栈底。向一个栈插入新元素又称作 进栈、入栈或压 ...
分类:
其他好文 时间:
2020-08-06 16:59:20
阅读次数:
67
@ 前言 在最开始讲解JVM内存结构的时候有简单分析过方法的执行原理——每一次方法调用都会生成一个栈帧并压入栈中,方法链的执行就是一个个栈帧弹出栈的过程,本篇就从字节码层面详细分析方法的调用细节。 正文 解析 Java中方法的调用对应字节码有5条指令: invokestatic:用于调用静态方法。 ...
分类:
其他好文 时间:
2020-08-06 00:56:51
阅读次数:
87
先序遍历与中序遍历的代码实现是差不多的 只是把访问节点的操作放到了入栈操作前 代码实现: #include <stdio.h> #include <string.h> #include <stdlib.h> #define ElementType char int top = -1; //定义top ...
分类:
其他好文 时间:
2020-07-31 18:04:02
阅读次数:
118
题意:给一个长度为$n$的序列$a_i$和一个数$k$。 现在把$a$序列重复$k$次生成一个数列$b$,然后从第一位开始往一个栈中加入$b_i$ 。 如果这个栈里存在元素与$b_i$相等那么一直pop直到把那个数弹掉然后不加入新数;否则push$b_i$入栈。求全部操作完之后栈中的元素。 $n \ ...
分类:
其他好文 时间:
2020-07-29 09:56:37
阅读次数:
60
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 示例: 输入: ["MinStack","push ...
分类:
其他好文 时间:
2020-07-28 22:36:05
阅读次数:
71
1、在小程序中所有页面的路由全部由框架进行管理,框架以栈的形式维护当前的所有页面,当发生路由切换的时候,页面栈的表现如下: 路由方式页面栈表现 初始化 新页面入栈 打开新页面 新页面入栈 页面重定向 当前页面出栈,新页面入栈 页面返回 页面不断出栈,直到目标返回页 Tab 切换 页面全部出栈,只留下 ...
分类:
微信 时间:
2020-07-28 00:05:36
阅读次数:
109
思路: 中序:左->根->右 1.需要一个建立一个栈,首先将左子树放入栈中 2.获取栈顶元素并进行节点判断是否有右子树 3. 代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode ...
分类:
其他好文 时间:
2020-07-27 23:50:51
阅读次数:
62
【Tarjan算法的作用】: 求强连通分量; 缩点(将一个环缩成一个点); 割点(这里不谈)…… 【Tarjan算法的过程】: 初始化数组:dfn[u](时间戳:该节点是第几个被首次访问到的),low[u](low[u]表示u或u的子树所能回溯到的栈中的最早的节点的dfn值) 堆栈:将u压入栈顶 更 ...
分类:
其他好文 时间:
2020-07-26 01:20:48
阅读次数:
60
此博客链接: 题目链接:https://leetcode-cn.com/problems/min-stack/submissions/ 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素 ...
分类:
其他好文 时间:
2020-07-25 09:45:52
阅读次数:
70
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。 ...
分类:
其他好文 时间:
2020-07-24 16:03:58
阅读次数:
53