码迷,mamicode.com
首页 >  
搜索关键字:栈操作    ( 345个结果
快速排序非递归实现
def quick_sort(arr): ''''' 模拟栈操作实现非递归的快速排序 ''' if len(arr) index + 1: stack.append(r) stack.append(index + 1) def partition(arr, start, end): # 分区操作,返... ...
分类:编程语言   时间:2018-10-14 13:47:08    阅读次数:176
1、二叉树遍历
1、 采用传统的递归 (O(n)的空间复杂度) 2、采用 Stack + 迭代的方式 (O(n)的空间复杂度) ①、先序遍历 ②、中序遍历 优化 ③、后续遍历 a、采用 Stack 进行压栈操作,同时采用一个 Map 记录该节点的右孩子是否被访问过 b、采用一个指针记录当前右孩子是否访问过 c、前序 ...
分类:其他好文   时间:2018-10-05 14:02:10    阅读次数:139
Basic Calculator 基本计算器
2018-09-27 22:02:36 一、Basic Calculator II 问题描述: 问题求解: sign用来保存前一个符号,用num来记录数字,如果碰到一个符号或者到达结尾,则需要进行入栈操作,这个时候需要结合符号进行相应的运算。 二、Basic Calculator 问题描述: 问题求 ...
分类:其他好文   时间:2018-09-27 23:55:41    阅读次数:182
栈操作及其应用
栈可以是顺序栈,也可以是链栈。 顺序栈: 顺序栈还可以更简化,使用数组来创建: 链栈: 栈的应用: 1. 编写算法,判断一个算术表达式中的括号是否配对。表达式已经存入字符数组中,元素从下标1开始存储,表达式中的字符个数为n ...
分类:其他好文   时间:2018-09-25 20:43:19    阅读次数:165
JVM系列(四) - JVM垃圾回收算法
前言 前面介绍了Java内存运行时区域,其中 程序计数器、虚拟机栈、本地方法栈 三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性。在这几个区域内不需要 ...
分类:编程语言   时间:2018-09-24 13:41:56    阅读次数:203
栈和队列(2)
一、题目:仅用递归函数和栈操作逆序一个栈 将一个栈里面的元素逆序,只能用递归函数来实现,不能用其他数据结构。 思路: 为了将栈逆序,只需要按顺序将栈顶至栈底的元素拿出并移除,放置到栈顶中,这样就可以将栈逆序。 两个递归函数: 一个将栈底元素取出。 一个将剩下的栈元素逆序。 如: 输入栈{1, 2, ...
分类:其他好文   时间:2018-09-23 15:11:05    阅读次数:133
Jvm(61),虚拟机字节码执行引擎----操作数栈
每一个独立的栈帧中除了包含局部变量表以外,还包含一个后进先出(Last-In-First-Out)的操作数栈,也可以称之为表达式栈(Expression Stack)。操作数栈和局部变量表在访问方式上存在着较大差异,操作数栈并非采用访问索引的方式来进行数据访问的,而是通过标准的入栈和出栈操作来完成一... ...
分类:其他好文   时间:2018-09-22 23:15:51    阅读次数:221
Jvm(10),运行时数据---独占区---StackOverflowError和OutOfMemoryError区别
1、StackOverflowError 源代码解释说:抛出这个错误是因为递归太深.其实真正的原因是因为Java线程操作是基于栈的,当调用方法内部方法也就是进行一次递归的时候就会把当前方法压入栈直到方法内部的方法执行完全之后,就会返回上一个方法,也就是出栈操作执行上一个方法。 public clas... ...
分类:其他好文   时间:2018-09-22 21:56:59    阅读次数:170
如何仅用递归函数和栈操作逆序一个栈
说在前面 这是一段递归代码, ,一开始 stack.pop() 已经被赋值到result 整型变量,所以 的返回值为1时,由于并没有再次给 result 重新赋值,所以 result 还是为2 回调函数 reverse(),当 stack 为空时,无返回值,执行回调函数下面的 sout(push) ...
分类:其他好文   时间:2018-09-19 21:48:22    阅读次数:129
JVM(3) 垃圾收集器与内存分配策略
一、垃圾收集的概念 在Java虚拟机运行时数据区中程序计数器、虚拟机栈和本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作,每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性,因为方法结束或线程 ...
分类:其他好文   时间:2018-09-09 14:57:45    阅读次数:184
345条   上一页 1 ... 8 9 10 11 12 ... 35 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!