算法+数据结构+栈

堆栈

JVM中的堆栈

入栈出栈。
假设序列为abcdefg等,

  1. 如果abc 出栈。a,b,c没有入,或a入a出,b入b出,c入c出。此时defg同上。
  2. bc出栈,则a依然入,位于栈底。a出栈时,栈为空。即不可能在此后出现a之后的元素。
    例子:
    123456789
    987651234是不可能的。只有1234,1位于首位才行。
    所以,判断依据。第一个元素要么位于首位,其后元素才能在其后出栈。
  3. 最后一个元素第一个出栈,则意味着之前元素都在站内。
  4. 某个原始位于第一个出栈,则其之前元素都在站内,则输出时,只会反序出现在之后。

牛客网:

  1. 两个顺序栈共享数组S【0…n-1】,其中第一个栈的栈顶指针top1的初始值为-1,第二个栈的栈顶指针top2的初始值为n,则判断该共享栈满的条件是( )
    就是两个栈共用一个数组。满的一种情况:top1=-1,top2=0。所以top1+1=top2。

  2. 若已知一个栈的入栈序列是 1,2,3,„,n,其输出序列为 p1,p2,p3,„,pn,若 p1=n,则pi 为()
    推论4 。 p1=n pi=pn+1-i。 合为n+1

  3. 采用顺序存储的栈,执行入栈运算,栈顶指针的变化是()
    进来一个,指针后移

  4. 若栈采用链式存储结构, 链表不需要判满,只需要判定是否为空即可

  5. 输入序列为ABC,可以变为CBA时,经过的栈操作为()
    push 入,pop出

  6. 假设栈初始为空,将中缀表达式
    image

转换为等价后缀表达式的过程中,当扫描到f时,栈中的元素依次是 ()

  1. 下列关于堆和栈的区别描述错误的有?
    下面都是正确的。
    栈的大小是固定的,堆的大小受限于系统中有效的虚拟内存
    栈的空间由系统决定何时释放,堆需要自己决定何时去释放
    堆的使用容易产生碎片,但是用起来最方便

  2. 下列数据结构具有记忆功能的是

    将一个递归算法改为对应的非递归算法时

  3. 递归工作栈里面包括返回地址、本层的局部变量和递归调用的形参代换用实参,所以正常情况下,无论递归过程有没有使用局部变量,转换为非递归过程都需要用栈来模拟这个递归调用过程
    当然,有一些特殊递归不用栈就可以直接转换,比如尾递归、常系数递推等,无论是否有局部变量

  4. X、Y、Z 一共有6中出来结果,只有 zxy是不可能的。

  5. 以下与数据的存储结构无关的术语是
    存储结构是数据的逻辑结构用计算机语言的实现,
    常见的存储结构有: 顺序存储 , 链式存储 , 索引存储 ,以及 散列存储 。

其中散列所形成的存储结构叫 散列表(又叫哈希表) ,因此哈希表也是一种存储结构。
栈只是一种抽象数据类型,是一种逻辑结构,栈逻辑结构对应的顺序存储结构为顺序栈,对应的链式存储结构为链栈,
循环队列是顺序存储结构,链表是线性表的链式存储结构。


1.vector 底层数据结构为数组 ,支持快速随机访问
2.list 底层数据结构为双向链表,支持快速增删
3.deque 底层数据结构为一个中央控制器和多个缓冲区.支持首尾(中间不能)快速增删,也支持随机访问
4.stack 底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
5.queue 底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时

  1. 45是适配器,而不叫容器,因为是对容器的再封装
    7.priorityQueue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现
    8.set 底层数据结构为红黑树,有序,不重复
    9.multiSet 底层数据结构为红黑树,有序,可重复
    10.map 底层数据结构为红黑树,有序,不重复
    11.multiMap 底层数据结构为红黑树,有序,可重复
    12.hashSet 底层数据结构为hash表,无序,不重复
    13.hashMultiSet 底层数据结构为hash表,无序,可重复
    14.hashMap 底层数据结构为hash表,无序,不重复
    15.hashMultiMap 底层数据结构为hash表,无序,可重复

递归式的先序遍历一个n节点,深度为d的二叉树,需要栈空间的大小为
o(d)
前缀后缀表达式转换。
递归转非递归。

链表和hash表

树和图

深度优先搜索要借助栈;
广度优先搜索要借助队列;

解析:几种常见的数据结构的操作性能对比如下图所示

image

由上图可见,平衡二叉树的查找,插入和删除性能都是O(logN),其中查找和删除性能较好;哈希表的查找、插入和删除性能都是O(1),都是最好的。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容