大话数据结构—整理版

白天 夜间 首页 下载 阅读记录
  我的书签   添加书签   移除书签

4.9 栈的应用——四则运算表达式求值

浏览 182 扫码 分享 2022-07-25 06:32:26
  • 4.9.1 后缀(逆波兰)表示法定义
  • 4.9.2 后缀表达式计算结果
  • 4.9.3 中缀表达式转后缀表达式

若有收获,就点个赞吧

0 人点赞

上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • 初衷
  • 目录
  • 出版信息
  • 前言
  • 第一章 数据结构绪论
    • 1.2 你数据结构怎么学的
    • 1.3 数据结构起源
    • 1.4 基本概念和术语
      • 1.4.1 数据
      • 1.4.2 数据元素
      • 1.4.3 数据项
      • 1.4.4 数据对象
      • 1.4.5 数据结构
    • 1.5 逻辑结构与物理结构
      • 1.5.1 逻辑结构
      • 1.5.2 物理结构
    • 1.6 抽象数据类型
      • 1.6.1 数据类型
      • 1.6.2 抽象数据类型
    • 1.7 总结回顾
    • 1.8 结尾语
  • 第2章 算法
    • 2.2 数据结构与算法关系
    • 2.3 两种算法的比较
    • 2.4 算法定义
    • 2.5 算法的特性
    • 2.6算法设计的要求
    • 2.7 算法效率的度量方法
      • 2.7.1 事后统计方法
      • 2.7.2 事前分析估算方法
    • 2.8 函数的渐近增长
    • 2.9 算法时间复杂度
      • 2.9.1 算法时间复杂度定义
      • 2.9.2 推导大O阶方法
      • 2.9.3 常数阶
      • 2.9.4 线性阶
      • 2.9.5 对数阶
      • 2.9.6 平方阶
    • 2.10 常见的时间复杂度
    • 2.11 最坏情况与平均情况
    • 2.12 算法空间复杂度
    • 2.13 总结回顾
    • 2.14 结尾语
  • 第3章 线性表
    • 3.2 线性表的定义
    • 3.3 线性表的抽象数据类型
    • 3.4 线性表的顺序存储结构
      • 3.4.1 顺序存储定义
      • 3.4.2 顺序存储方式
      • 3.4.3 数组长度与线性表长度区别
      • 3.4.4 地址计算方法
    • 3.5 顺序存储结构的插入与删除
      • 3.5.1 获得元素操作
      • 3.5.2 插入操作
      • 3.5.3 删除操作
      • 3.5.4 线性表顺序存储结构的优缺点
    • 3.6 线性表的链式存储结构
      • 3.6.1 顺序存储结构不足的解决办法
      • 3.6.2 线性表链式存储结构定义
      • 3.6.3 头指针与头结点的异同
      • 73.6.4 线性表链式存储结构代码描述
    • 3.7 单链表的读取
    • 3.8 单链表的插入与删除
      • 3.8.1 单链表的插入
      • 3.8.2 单链表的删除
    • 3.9 单链表的整表创建
    • 3.10 单链表的整表删除
    • 3.11 单链表结构与顺序存储结构优缺点
    • 3.12 静态链表
      • 3.12.1 静态链表的插入操作
      • 3.12.2 静态链表的删除操作
      • 3.12.3 静态链表优缺点
    • 3.13 循环链表
    • 3.14 双向链表
    • 3.15 总结回顾
  • 第4章 栈与队列
    • 4.2 栈的定义
      • 4.2.1 栈的定义
      • 4.2.2 进栈出栈变化形式
    • 4.3 栈的抽象数据类型
    • 4.4 栈的顺序存储结构及实现
      • 4.4.1 栈的顺序存储结构
      • 4.4.2 栈的顺序存储结构——进栈操作
      • 4.4.3 栈的顺序存储结构——出栈操作
    • 4.5 两栈共享空间
    • 4.6 栈的链式存储结构及实现
      • 4.6.1 栈的链式存储结构
      • 4.6.2 栈的链式存储结构——进栈操作
      • 4.6.3 栈的链式存储结构——出栈操作
    • 4.7 栈的作用
    • 4.8 栈的应用——递归
      • 4.8.1 斐波那契数列实现
      • 4.8.2 递归定义
    • 4.9 栈的应用——四则运算表达式求值
      • 4.9.1 后缀(逆波兰)表示法定义
      • 4.9.2 后缀表达式计算结果
      • 4.9.3 中缀表达式转后缀表达式
    • 4.10 队列的定义
    • 4.11 队列的抽象数据类型
    • 4.12 循环队列
      • 4.12.1 队列顺序存储的不足
      • 4.12.2 循环队列定义
    • 4.13 队列的链式存储结构及实现
      • 4.13.1 队列的链式存储结构——入队操作
      • 4.13.2 队列的链式存储结构——出队操作
    • 4.14 总结回顾
  • 第5章 串
    • 5.2 串的定义
    • 5.3 串的比较
    • 5.4 串的抽象数据类型
    • 5.5 串的存储结构
      • 5.5.1 串的顺序存储结构
      • 5.5.2 串的链式存储结构
    • 5.6 朴素的模式匹配算法
    • 5.7 KMP模式匹配算法
      • 5.7.1 KMP模式匹配算法原理
      • 5.7.2 next数组值推导
      • 5.7.3 KMP模式匹配算法实现
      • 5.7.4 KMP模式匹配算法改进
      • 5.7.5 nextval数组值推导
    • 5.8 总结回顾
  • 第6章 树
    • 6.2 树的定义
      • 6.2.1 结点分类
      • 6.2.2 结点间关系
      • 6.2.3 树的其他相关概念
    • 6.3 树的抽象数据类型
    • 6.4 树的存储结构
      • 6.4.1 双亲表示法
      • 6.4.2 孩子表示法
      • 6.4.3 孩子兄弟表示法
    • 6.5 二叉树的定义
      • 6.5.1 二叉树特点
      • 6.5.2 特殊二叉树
    • 6.6 二叉树的性质
    • 6.7 二叉树的存储结构
      • 6.7.1 二叉树顺序存储结构
      • 6.7.2 二叉链表
    • 6.8 遍历二叉树
      • 6.8.1 二叉树遍历原理
      • 6.8.2 二叉树遍历方法
      • 6.8.3 前序遍历算法
      • 6.8.4 中序遍历算法
      • 6.8.5 后序遍历算法
      • 6.8.6 推导遍历结果
    • 6.9 二叉树的建立
    • 6.10 线索二叉树
      • 6.10.1 线索二叉树原理
      • 6.10.2 线索二叉树结构实现
    • 6.11 树、森林与二叉树的转换
      • 6.11.1 树转换为二叉树
      • 6.11.2 森林转换为二叉树
      • 6.11.3 二叉树转换为树
      • 6.11.4 二叉树转换为森林
      • 6.11.5 树与森林的遍历
    • 6.12 赫夫曼树及其应用
      • 6.12.1 赫夫曼树
      • 6.12.2 赫夫曼树定义与原理
      • 6.12.3 赫夫曼编码
    • 6.13 总结回顾
  • 第7章 图
    • 7.1 开场白
    • 7.2 图的定义
      • 7.2.1 各种图定义
      • 7.2.2 图的顶点与边间关系
      • 7.2.3 连通图相关术语
      • 7.2.4 图的定义与术语总结
    • 7.3 图的抽象数据类型
    • 7.4 图的存储结构
      • 7.4.1 邻接矩阵
      • 7.4.2 邻接表
      • 7.4.3 十字链表
      • 7.4.4 邻接多重表
      • 7.4.5 边集数组
    • 7.5 图的遍历
      • 7.5.1 深度优先遍历
      • 7.5.2 广度优先遍历
    • 7.6 最小生成树
      • 7.6.1 普里姆(Prim)算法
      • 7.6.2 克鲁斯卡尔(Kruskal)算法
    • 7.7 最短路径
      • 7.7.1 迪杰斯特拉(Dijkstra)算法
      • 7.7.2 弗洛伊德(Floyd)算法
    • 7.8 拓扑排序
      • 7.8.1 拓扑排序介绍
      • 7.8.2 拓扑排序算法
    • 7.9 关键路径
      • 7.9.1 关键路径算法原理
      • 7.9.2 关键路径算法
    • 7.10 总结回顾
    • 7.11 结尾语
  • 第8章 查找
    • 8.1 开场白
    • 8.2 查找概论
    • 8.3 顺序表查找
      • 8.3.1 顺序表查找算法
      • 8.3.2 顺序表查找优化
    • 8.4 有序表查找
      • 8.4.1 折半查找
      • 8.4.2 插值查找
      • 8.4.3 斐波那契查找
    • 8.5 线性索引查找
      • 8.5.1 稠密索引
      • 8.5.2 分块索引
      • 8.5.3 倒排索引
    • 8.6 二叉排序树
      • 8.6.1 二叉排序树查找操作
      • 8.6.2 二叉排序树插入操作
      • 8.6.3 二叉排序树删除操作
      • 8.6.4 二叉排序树总结
    • 8.7 平衡二叉树(AVL树)
      • 8.7.1 平衡二叉树实现原理
      • 8.7.2 平衡二叉树实现算法
    • 8.8 多路查找树(B树)
      • 8.8.1 2-3树
      • 8.8.2 2-3-4树
      • 8.8.3 B树
      • 8.8.4 B 树
    • 8.9 散列表查找(哈希表)概述
      • 8.9.1 散列表查找定义
      • 8.9.2 散列表查找步骤
    • 8.10 散列函数的构造方法
      • 8.10.1 直接定址法
      • 8.10.2 数字分析法
      • 8.10.3 平方取中法
      • 8.10.4 折叠法
      • 8.10.5 除留余数法
      • 8.10.6 随机数法
    • 8.11 处理散列冲突的方法
      • 8.11.1 开放定址法
      • 8.11.2 再散列函数法
      • 8.11.3 链地址法
      • 8.11.4 公共溢出区法
    • 8.12 散列表查找实现
      • 8.12.1 散列表查找算法实现
      • 8.12.2 散列表查找性能分析
    • 8.13 总结回顾
  • 第9章 排序
    • 9.2 排序的基本概念与分类
      • 9.2.1 排序的稳定性
      • 9.2.2 内排序与外排序
      • 9.2.3 排序用到的结构与函数
    • 9.3 冒泡排序
      • 9.3.1 最简单排序实现
      • 9.3.2 冒泡排序算法
      • 9.3.3 冒泡排序优化
      • 9.3.4 冒泡排序复杂度分析
    • 9.4 简单选择排序
      • 9.4.1 简单选择排序算法
      • 9.4.2 简单选择排序复杂度分析
    • 9.5 直接插入排序
      • 9.5.1 直接插入排序算法
      • 9.5.2 直接插入排序复杂度分析
    • 9.6 希尔排序
      • 9.6.1 希尔排序原理
      • 9.6.2 希尔排序算法
      • 9.6.3 希尔排序复杂度分析
    • 9.7 堆排序
      • 9.7.1 堆排序算法
      • 9.7.2 堆排序复杂度分析
    • 9.8 归并排序
      • 9.8.1 归并排序算法
      • 9.8.2 归并排序复杂度分析
      • 9.8.3 非递归实现归并排序
    • 9.9 快速排序
      • 9.9.1 快速排序算法
      • 9.9.2 快速排序复杂度分析
      • 9.9.3 快速排序优化
    • 9.10 总结回顾
    • 9.11 结尾语
  • 参考文献
暂无相关搜索结果!

    让时间为你证明

    展开/收起文章目录

    分享,让知识传承更久远

    文章二维码

    手机扫一扫,轻松掌上读

    文档下载

    请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
    PDF文档 EPUB文档 MOBI文档

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度

        思维导图备注