1 / 61
文档名称:

第三章栈和队列_数据结构.doc

格式:doc   页数:61页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第三章栈和队列_数据结构.doc

上传人:zgs35866 2015/6/4 文件大小:0 KB

下载得到文件列表

第三章栈和队列_数据结构.doc

文档介绍

文档介绍:第三章  栈和队列
 
一、内容提要
 
 ,栈和队列也是线性表,其操作是线性表操作的子集,属操作受限的线性表。但从数据类型的角度看,它们是和线性表大不相同的重要抽象数据类型。
。栈是只准在一端进行插入和删除操作的线性表,该端称为栈的顶端。
,及在这两种结构下实现栈的操作。
:表达式求值,递归过程及消除递归。
,队列的删除在一端(尾),而插入则在队列的另一端(头)。因此在两种存储结构中,都需要队头和队尾两个指针。
,而循环队列满的条件的判定,则有队尾加1等于
队头和设标记两种方法。
 
二、学习重点
 

、后缀表达式并求值。
:定义是递归的,数据结构是递归的,及问题的解法是递归的,
掌握典型问题的算法。
4.  链队列删除时为空的处理(令队尾指针指向队头)。特别是仅设尾指针的循环链队
列的各种操作的实现。
5.  循环队列队空定义为队头指针等于队尾指针,队满则可用一个单元(教材中所示)
及设标记办法(下面例题)。这里特别注意取模运算。
6.  在后续章节中要注意栈和队列的应用,如串中心对称的判定,二叉树遍历的递归
和非递归算法,图的深度优先遍历等都用到栈,而树的层次遍历、图的宽度优先遍
历等则用到队列。
 
三、例题解析
 
,编写入栈和出栈算法。
TYPE
TwoWayStack=RECORD{双栈共享一向量空间}
elem:ARRAY[1..m] OF elemtype;
top:ARRAY[0..1] OF 0..m+1;{两个栈顶指针}
END;
#define m 1000
Typedef struct
{elemtype elem[m];
int top[2];
}*TwoWayStack;
inistack(TwoWayStack tws){初始化}
//初始化双向栈tws为空
{tws->top[0]=-1;{ 左端栈指针}
tws->top[1]=m;{ 右端栈指针}
}{inistack}
 
PUSH(TwoWayStack tws,int I,elemtype x,intofw)
{若双向栈tws不满,则将x插入到i端,成功时ofw为true,失败为false}
{IF((tws->top[1]-[0])!=1)
//栈未满
Swith i
{case0:tws->top[0]=tws->top[0]+1;tws->elem[tws->top[0]]=x;ofw=1;
case1:tws->top[1]=tws->top[1]-1;tws->elem[tws->top[1]]=x;ofw=1
}
ELSE ofw=0;// 栈满
}// end push
int POP(TwoWayStack tws,int I,elemtype &x,int underflow)
//若双向栈tws非空,则将i端退栈,栈空时underflow为true
{switch i
{case 0:IF (tws->top[0]==-1)//栈空
{underflow=1;return(underflow);}
ELSE {tws->top[0]=[0]-1;
x=tws->elem[tws->top[0]+1;
} //弹出元素
}
case 1:IF (tws->top[1]==m)//栈空
{underflow=1;return(underflow);}
ELSE {tws->top[1]=tws->top[1]+1;
x=tws->elem[[1]-1];//弹出元素
}
}
} // end pop
【讨论】上面算法中用0和1代表两端,且按操作在哪端来分两种情况进行讨论,逻辑清楚。也可用一个公式表示插入(进栈)和删除(退栈)指针位置。例如,插入时top=top+1-2*i,删除时top=top-1+2*i。表达简洁,但不如上面清楚易读。
 
,并进行表达式求值。
String trnssufix(string exp1)
//本算法将中缀表达式exp1转为后缀表达式exp2,使用运算符栈s
//算法基本思想是依次从中缀表达式读入字符w: 若w是变量,直接送入结果表达式,若w是运算符,则与栈顶运算符比较,若级别高,则进栈; 若低,则栈顶元素退栈,并送入结果

最近更新

2025年度智能交通系统开发合作协议书3篇 43页

企业员工宿舍宿管员劳动合同范本及管理规范 3页

2025年度新能源车产业链委托理财服务协议3篇 39页

2025年度新能源储能设备委托制作协议书3篇 90页

企业财务战略规划与实施服务协议 3页

企事业单位保安服务合同示范文本 3页

休闲娱乐场地租赁飘然而往动态支持合同 2页

会议活动包车服务合同范本 3页

体育产业发展补贴合同书模板 2页

体育场馆场地租赁安全保障合同 2页

体育设施厂房租赁合同范本解读 3页

2025年度工厂员工环境保护责任合同3篇 37页

供应链金融担保公司延期还款合同 3页

XX公司档案管理制度 5页

保姆合同:特殊儿童看护服务专案 3页

保安公司劳务派遣与安全防范设备租赁服务合同.. 3页

2025年度就业市场调研补充协议书3篇 39页

保温材料环保技术引进合同 3页

保温砂浆原材料供应合同样本 3页

2025年度家具设计专利授权与销售合同3篇 43页

2025年度室内门行业技术交流与合作合同3篇 45页

健康食品代理合作协议——健康生活方式推广 4页

储藏室装修工程质保服务合同范本 2页

2025年度安置房买卖合同(城市更新项目专用).. 42页

光伏设备安装与运营维护合同 3页

全国性品牌代理包销合同范本 3页

2025年度学生校外研学旅行安全保障协议书模板.. 38页

焦虑自评量表SAS完整 6页

牙体牙髓病用药 53页

升压站调试方案 11页