栈的定义: 栈(stack)是限定仅在表尾进行插入和删除的线性表。 我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom) ,不包含任何数据元素的栈称为空栈,栈又称为先进后出的线性表,简称LIFO结构。 栈的插入操作:叫做进栈,或压栈、入栈。 栈的删除操作:叫做,出栈,或者弹栈 ...
分类:
编程语言 时间:
2019-01-22 13:22:14
阅读次数:
208
问题描述:用链式存储实现栈的基本操作 涉及变量:top:自定义Node类,指向栈顶元素的结点 涉及教材:《数据结构——Java语言描述(第2版)》 清华大学出版社 大致思路: 链式存储结构一般是通过链接结点类来形成链 出栈是由栈顶元素向栈底元素方法依次输出 则top的位置需指向栈顶元素 判空的根据是 ...
分类:
其他好文 时间:
2019-01-20 16:02:33
阅读次数:
169
命名元组:namedtuple Counter 计数 from collections import deque(双向队列) 队列:FIFO 先进先出 栈:LIFO 后进先出 import shelve:省去很多代码去改字典 shutil:高级文件模块 shutil.copytile(原文件,要拷到 ...
分类:
其他好文 时间:
2019-01-20 15:55:59
阅读次数:
190
常见的栈与队列算法题 1.使用队列实现栈 2.使用栈实现队列 3.包含最小值函数的栈 4.合法的出栈序列 5.简单计算器 1.队列实现栈 主要是push函数的编写。x进队后,让之前的元素 一 一 出队再入队。 2.栈实现队列 缺点是,入队所需时间太长,操作步数为2n步。其他为常数。 改进 pop和p ...
分类:
编程语言 时间:
2019-01-15 10:42:01
阅读次数:
232
【栈】 函数调用形成了一个栈帧 当调用bar时,创建了第一个帧 ,帧中包含了bar的参数和局部变量。当bar调用foo时,第二个帧就被创建,并被压到第一个帧之上,帧中包含了foo的参数和局部变量。当foo返回时,最上层的帧就被弹出栈(剩下bar函数的调用帧 )。当bar返回的时候,栈就空了 【堆】 ...
分类:
其他好文 时间:
2019-01-08 17:16:51
阅读次数:
345
拓扑排序:从某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。 AOV-网,用顶点表示活动,用弧表示活动间的优先关系的有向图,不应该出现有向环,存在有向环意味着某项活动应以自己为先决条件,这是荒谬的。 记住三句话: 1.从有向图中选择一个入度为0的点输出 2.删除1中的顶点,并删除 ...
分类:
编程语言 时间:
2019-01-05 22:45:19
阅读次数:
234
关键词:Flame Graph、perf、perl。 FlameGraph是由BrendanGregg开发的一款开源可视化性能分析工具,形象的成为火焰图。 从底向上像火苗一样逐渐变小,也反映了相互之间的包含关系,下面的框条包含上面内容。 经过FlameGraph.git处理,最终生成矢量SVG图形, ...
分类:
其他好文 时间:
2019-01-05 00:16:47
阅读次数:
317
一、栈和队列 1.定义: 2.操作:入栈/队列、出栈/队列、判断满/空 3:空间复杂度:O(n) 4:单次操作的时间复杂度:O(1) 5:区别: (1)先进先出(FIFO) (2)先进后出FILO 6:数组和链表皆可(线性表) 指针(辅助变量) 栈顶/底指针 队头/尾指针 关键:出入元素同时移动指针 ...
分类:
编程语言 时间:
2019-01-04 22:02:11
阅读次数:
217
用代码例子看一个数据区中常量区: #include <stdio.h>#include <stdlib.h> char *getStr1(){ char *pstr1 = "adfag";//pstr1是局部变量,在声明时入栈,函数结束后出栈 return pstr1;} char *getStr2 ...
分类:
其他好文 时间:
2019-01-04 22:00:14
阅读次数:
246
今日内容一.列表 基本使用 1、用途:用来记录同种属性的多个值2、定义方式:在[]内用逗号分隔开多个任意类型的值lic=['a','b',1,2,['c','d']]数据类型转换:list 但凡能被for循环可以循环的所有类型都可以转成列表res=list('hello')print(res)for ...
分类:
其他好文 时间:
2019-01-04 19:11:50
阅读次数:
194