数据结构9.10-9.11练习

9.10练习

栈的基础知识

1.栈(stack)是一种只能在同一端进行插入或删除操作的线性表。 表中允许进行插入、删除操作的一端称为栈顶(top),表的另一端 称为栈底(bottom)。栈的插入操作通常称为进栈或入栈(push),栈的删除操作通常称为 退栈或出栈(pop)。

2.栈的主要特点:

•后进先出,即后进栈的元素先出栈。

•每次进栈的元素都作为新栈顶元素,每次出栈的元素只能是当前栈顶元素。

•栈也称为后进先出表或者先进后出表。

3.ADT Stack {

   数据对象:

D={ai | 0≤i≤n-1,n≥0,元素ai为E类型}

{

数据关系:

R={r}

r={<ai,ai+1> | ai,ai+1∈D, i=0,…,n-2}

基本运算:

empty():判断栈是否为空,若空栈返回真;否则返回假。 

push(e):进栈操作,将元素e插入到栈中作为栈顶元素。 

pop():出栈操作,返回栈顶元素。 

gettop():取栈顶操作,返回当前的栈顶元素。

}

队列的基础知识

1.队列(queue)是一种只能在不同端进行插入或删除操作的线性表。 进行插入的一端称做队尾(rear),进行删除的一端称做队头或队首 (front)。

队列的插入操作通常称为进队或入对(push),队列的删除操作通常 称为出队或离队(pop)。

2.队列的主要特点:

先进先出,即先进队的元素先出队。

每次进队的元素作为新队尾元素,每次出队的元素只能是队头的 元素。

队列也称为先进先出表。

3.ADT Queue 

{

数据对象:

D={ai | 0≤i≤n-1,n≥0}

数据关系:

R={r}

r={<ai,ai+1> | ai,ai+1∈D, i=0,…,n-2}

基本运算:

empty():判断队列是否为空,若队列为空,返回真,否则返回假。 push(e):进

队,将元素e进队作为队尾元素。 

pop():出队,从队头出队一个元素。 

gethead():取队头,返回队头元素而不出队。

}

队列抽象数据类型 = 线性结构 + 队列的基本运算

7ee55879ef7944ada034080eb62e63b4.png

 

156ccae59b004f4a8eb5e711d76cd190.png 

ebee822b8c7049a4bfad272b4ba5cb71.png 

86c61f7341e94a82ac91f9e65a671677.png 

3ba87e96be044d7cb54cd6bdb4546cc9.png 

12c6e2c04b3742a4be19691c70cd5b4d.png 

ae4402b2013247f29a6e099712ddf1b1.png 

9fa5972ebd3d457fa79d81259622862a.png 

a013177f7a714104b96b453d91c38291.png 

bce2211aed9447d5a447b0de1afc777c.png 

                              9.11练习

640aa51f5e3c4f72b3eb0f4985fa8144.png

ddfae162f24f42df8d11126816f63610.png 

51c004970dec485ea28a652eedc51c8a.png 

41badb7d060c4915b9046b1a74d5e6c3.png 

bc679fcf269c4b759968d56bacb1602e.png 

433cdce02beb4b01b30aafddd9b91b70.png 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值