数据结构论坛

首页 » 分类 » 分类 » 银行春招科技岗备考指导之数据结构
TUhjnbcbe - 2025/7/18 9:13:00
北京专治白癜风的医院 https://wapjbk.39.net/yiyuanfengcai/yyjs_bjzkbdfyy/

尽管银行科技岗考查内容众多,但万变不离其宗,基础的计算机专业知识少不了,当然还有其他一些科目:计算机组成原理、计算机网络、数据库、操作系统、程序设计语言、软件工程、数据结构、信息新技术等。就拿数据结构来说,重点较多,比如二叉树的构成、哈希查找效率、二叉树的遍历算法、多线程的栈和队列、软件需求、单链表查找算法、栈的进出顺序、先进先出、线性结构、队列、串、数据的存储结构、栈和队列、深度为5的满二叉树、后序遍历序列是dabec,中序遍历序列是debac、进栈序列、快速排序算法等等,今天就给大家介绍一下其中的重点内容——栈。

一、具体内容看一看

1.定义

栈是一种只能在一端进行插入或删除操作的线性表。栈中的数据元素是线性关系。

栈顶:允许进行插入或删除操作的一端。

栈底:不允许进行插入和删除操作,固定不变的一端。

入栈:栈的插入操作。

出栈:栈的删除操作。

2.特点

先进后出(FirstInLastOut,简称FILO)、后进先出(LastInFirstOut,简称LIFO)。

3.存储结构

顺序栈:使用顺序存储结构存储栈。

链式栈:使用链式存储结构存储栈。

4.栈的常见操作

InitStack(S):构造一个空栈S。

DestroyStack(S):栈S被销毁。

ClearStack(S):栈S清为空栈。

StackEmpty(S):若栈S为空栈,则返回TRUE,否则FALSE。

StackLength(S):返回S的元素个数,即栈的长度。

GetTop(S,e):用e返回S的栈顶元素。

Push(S,e):插入元素e为新的栈顶元素。

Pop(S,e):删除S的栈顶元素,并用e保存返回其值。

5.栈的应用

数值转换、括号的检验匹配、行编辑程序、表达式求值。

二、实践出真知

下面,我们就以几道代表性题目来看一看栈的应用

例1.一个栈的入栈序列是A,B,C,D,E,则栈的不可能输出序列是()。

A.EDCBAB.DECBA

C.DCEABD.ABCDE

分析思路:首先站的工作原理是栈先进后出,后进先出。A选项是abcde先入栈,然后依次出栈,正好是edcba。B选项是abcd先依次入栈,然后d出栈,e再入栈,e出栈。选项C是错误的,因为a先于b入栈,不可能a先出栈然后b再出栈。选项D是a入栈,然后a出栈;b再入栈,b出栈,依此类推。

例2.输入序列为ABC,可以变为CBA时,经过的栈操作为()。

A.push,pop,push,pop,push,popB.push,push,push,pop,pop,pop

C.push,push,pop,pop,push,popD.push,pop,push,push,pop,pop

分析思路:push是入栈,pop是出栈,入栈后为A、B、C,栈的特点是后进先出,ABC依次入栈,然后依次出栈,所以出栈后变为C、B、A。故B选项正确。

栈是我们数据结构当中非常典型的一个知识点,希望此次的分享可以帮助大家理解和掌握其中的要点和考查方式!

1
查看完整版本: 银行春招科技岗备考指导之数据结构