数据结构-栈的相关介绍

一、栈的定义

栈是一种线性数据结构,栈的特征是数据的插入和删除只能通过一端来实现,这一端称为“栈顶”,相应的另一端称为“栈底”。说到线性结构,得先了解一下数据的逻辑结构,数据的逻辑结构分为线性结构、集合结构、树形结构和图形结构,如下图所示,栈是一种特殊的线性表,是线性结构的一种。

数据结构-栈的相关介绍_第1张图片数据的逻辑结构

二、栈的属性和方法

数据结构-栈的相关介绍_第2张图片

以上便是栈的一些方法,经常用到的是Push()和Pop()方法。

三、栈的应用

栈最经典的应用是表达式求值,通过以下例子的描述来理解栈在表达式求值应用中的过程。

如求表达式:23-12/(2+4)+11的值。

可将上述表达式转换为后缀的形式,这样可以减少把“(”“)”压入、弹出栈的过程,更好理解操作,如不理解怎样前缀变后缀,可以翻翻树的知识。

23-12/(2+4)+11变为后缀形式为:“23 12 2 4 + / -11+”,把所有的数字压入栈,每次遇到符号时则弹出左右操作数,进行一次运算,然后循环这个过程。栈的应用过程如下:

数据结构-栈的相关介绍_第3张图片

从以上例子可知,栈在表达式求值方面的应用是多么方便、高效率,当然栈在逆序、数制转换等方面也有所应用。

以上便是数据结构栈的相关介绍,相信通过上面的介绍,大家应该都能理解栈的这种数据结构定义和应用,这也只是栈的简单介绍,对栈的更多操作和应用还需大家更深入去学习,也欢迎大家在评论中指出。

你可能感兴趣的:(数据结构-栈的相关介绍)