栈及其相关算法应用

栈是一种简单但重要的数据结构

栈支持两种操作,压栈和出栈S.push(e)、S.pop();为方便操作,可以在此基础上再定义以下方法:

  • S.top()         在不移除栈顶元素的情况下,返回栈顶元素;若栈为空,则会出错。
  • S.is_empty() 如果栈中不包含元素,则返回一个bool值,为true。
  • len(S)          返回栈中元素的数量。

栈的相关表示:

  • 顺序表示(数组表示):顺序栈
  • 链式表示(链表表示):链式栈

记录和栈相关的一些算法题:

  • 数据逆序
  • 括号匹配
  • HTML标记匹配
  • 求组合数C(m,n)
  • 进制转换
  • 算数表达式求值
  • 字符串是否中心对称
posted @ 2022-08-18 01:14  大王怕我去巡山  阅读(44)  评论(0)    收藏  举报