码迷,mamicode.com
首页 >  
搜索关键字:压栈    ( 519个结果
Leetcode 234. 回文链表(进阶)
题目描述: 请判断一个链表是否为回文链表。 示例 1: 示例 2: 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 解法一:(空间复杂度O(n)) 遍历一遍链表压栈,借助栈把链表倒序,然后依次比较“原链表元素”和“新栈中元素”,如果都相等则返回true,否则返回false。 ...
分类:其他好文   时间:2018-11-01 18:58:26    阅读次数:125
Android内核栈溢出与ROP(CVE-2013-2597)
一、准备 由于内核栈不可执行(NX),栈溢出利用需用到ROP。简单回顾一下ARM ROP。 漏洞演示代码如下,网上随便找了个。 vulnerable_function函数使用read从标准输入读数据到buf缓冲区,未校验拷贝长度导致栈溢出。分析其汇编代码: 首先LR,R11寄存器压栈,接着分配0x8 ...
分类:移动开发   时间:2018-10-28 00:48:41    阅读次数:248
c语言可变参数函数
c语言支持可变参数函数。这里的可变指,函数的参数个数可变。 其原理是,一般情况下,函数参数传递时,其压栈顺序是从右向左,栈在虚拟内存中的增长方向是从上往下。所以,对于一个函数调用 func(int a, int b, int c); 如果知道了参数a的地址,那么,可以推导出b,c的地址 对于上面的代 ...
分类:编程语言   时间:2018-10-27 00:03:32    阅读次数:235
c语言宏
使用 c语言的宏是在预处理时候对字符进行简单替换。 优点:1.如果要改一个变量,只需要改宏就可以了,也就是只改一次;2.宏函数展开和普通函数一样,但是它没有普通函数调用的过程,不需要压栈出栈等操作,所以效率高。 缺点:增大了编译后可执行文件的大小 比如常见的 变量使用括号包围,否则这样调用时 结果并 ...
分类:编程语言   时间:2018-10-26 22:11:13    阅读次数:230
实验2
(1)使用DEBUG,将上面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。 在上图的代码中我给出了详细的说明。 我用红笔标出了各个值得变化情况。 单步调试如下: 也许有人会对14~17行的代码有疑问,下面我用几张图来简单说一下: 这是执行push ax后,栈的表示 压栈分为2步:首先 ...
分类:其他好文   时间:2018-10-26 19:38:19    阅读次数:221
Algs4-1.4.36下压栈的空间成本
1.4.36下压栈的空间成本。解释下表中数据,它显示了各种下压栈的实现的一般空间成本,其中链表的节点为一个静态嵌套类,从而避免非静态嵌套类的开销。1)基于链表的int元素类型,N个值时需要N个Node,每个Node需要16字节的对象开销+两个8字节的引用,一共32字节,N个Node需要32N字节。2 ...
分类:其他好文   时间:2018-10-26 10:44:08    阅读次数:179
Algs4-1.4.35下压栈的时间成本
1.4.35下压栈的时间成本。解释下表中的数据,它显示了各种下压栈的实现的一般时间成本,其中成本模型会同时记录数据引用的数量(指向被压入栈之中的数据引用,指向的可能是数组,也可能是某个对象实例变量)和被创建的对象数量。1)基于链表的int元素类型,压入N个值的成本中,每个Node对象有一个item引 ...
分类:其他好文   时间:2018-10-26 10:40:57    阅读次数:185
二叉树--后序遍历的非递归算法
后续遍历关键在于,当节点的 右子树存在且被访问后 或者是 右子树为空 才能访问自身。 在遍历过程中,先将节点从的左孩子到最左节点压栈, 设置标志变量 flag 来判断是否访问过左孩子, pre指针来指向先前访问过的节点。 所有左孩子压栈后, 最后一个节点的左孩子为空,已被访问p = NULL , 令 ...
分类:编程语言   时间:2018-10-24 17:51:50    阅读次数:194
【12】python 栈型数据结构模拟、队列型数据结构模拟
一、压栈操作模拟 二、出栈模拟 入队与出队操作 队列: 即是先进先出的一种数据结构在python中,可以通过 collections模块。 queue = collections.deque()来实现入队操作 。相应的出队操作可以用queue.leftpop()即可 ...
分类:编程语言   时间:2018-10-21 18:28:02    阅读次数:155
剑指Offer 21. 栈的压入、弹出序列 (栈)
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度... ...
分类:其他好文   时间:2018-10-15 14:28:14    阅读次数:154
519条   上一页 1 ... 11 12 13 14 15 ... 52 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!