【牛客专项练习】数据结构—栈

  1. 下列情况中,不能使用栈(stack)来解决问题的是?

    A. 将数学表达式转换为后辍形式
    B. 实现递归算法
    C. 高级编程语言的过程调用
    D. 操作系统分配资源(如CPU)	×
    

    资源分配有多种分配策略,简单的可以是任务先到先执行,可以使用队列来完成

  2. 下列关于堆和栈(以 C++ 语言来说)的区别描述错误的有?

    A. 申请方式的不同,堆是系统自动分配,栈是自己申请	×
    B. 栈的大小是固定的,堆的大小受限于系统中有效的虚拟内存
    C. 栈的空间由系统决定何时释放,堆需要自己决定何时去释放
    D. 堆的使用容易产生碎片,但是用起来最方便
    

    1.栈内存操作系统来分配,堆内存由程序员自己来分配。
    2.栈有系统自动分配,只要栈 剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。

  3. 解析XML时,需要校验节点是否闭合,如必须有与之对应,用()数据结构实现比较好

    栈是解决封闭对应问题的有效方法。
    比如在解析XML中,遇到一个标签(左标签)就入栈,遇到其子标签的左标签(如)同样入栈。遇到右标签(如或)就校验栈顶标签是否与该右标签对应,能对应就出栈,不能对应则说明标签不对称,是无效的XML文件

  4. 设栈的输入序列为 123……n ,输出序列为 a1,a2,a3,……,an ,若存在 1<=k<=n ,使得 ak=n ,则当 k<=i<=n 时, ai 为 。

    不确定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值