- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息技术竞赛培教程_数据结构
信息技术竞赛培训教程
?
目录
?
第二部分 数据结构
?
(一)――栈
(二)――队列
(三)――链表
(四)――迭代与递推
(五)――递归
(六)――搜索与回溯
(七)――树与二叉树
(八)――排序算法
(九)――查找算法
(十)――图论基础知识
(???????? 广度优先搜索
(???????? 广度优先搜索
第二部分 算法和数据结构
?
(一)――栈
?
说到学习和掌握数据结构,很容易让人想到的就是其最本的数据结构模式:栈、队这一讲,我们就来谈谈“栈”。“栈”的应用很广泛,大家在PASCAL程序设计中,常遇的一种错误就是“栈”超界,那么,“栈”为何物呢?
栈是只能在某一端插入和删除的特殊线性表。
用桶堆积物品,先堆进来的压在底下,随后一件一件往堆。取走时,只能从上面一件一件取。堆和取都在顶部进行,底部一般是不动的。 栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一堆称栈底。插入一般称为进栈(PUSH),删除则称为退栈(POP)。 栈也称为后进先出表(LIFO表)。 一个栈可以用定长为N的数组S来表示,用一个栈指针TOP指向栈顶。若TOP=0,表示栈空,TOP=N时栈满。进栈时TOP加1。退栈时TOP减1。当TOP0时为下溢。栈指针在运算中永远指向栈顶。
1、进栈(PUSH)算法
①若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②);
②置TOP=TOP+1(栈指针加1,指向进栈地址);
③S(TOP)=X,结束(X为新进栈的元素);
2、退栈(POP)算法 ①若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈, 空则下溢;不空则作②); ②X=S(SOP),(退栈后的元素赋给X); ③TOP=TOP-1,结束(栈指针减1,指向栈顶)。 进栈、出栈的Pascal实现过程程序:CONST n=100;TYPE
stack=ARRAY[1..n] OF integer;
PROCEDURE PUSH(VAR s:stack;VAR top,x:integer);{入栈}
BEGIN
IF top=n THEN
writeln(overflow)
ELSE BEGIN
top:=top+1;s[top]:=x;
END;
END;
PROCEDURE POP(VAR s:stack;VAR y,top:integer);{出栈}BEGIN
IF top=0 THEN writeln(underflow) ELSE BEGIN
y:=s[top];top:=top-1;
END
END;
对于出栈运算中的“下溢”,程序中仅给出了一个标志信息,而在实际应用中,下溢可用来作为控制程序转移的判断标志,是十分有用的。对于入栈运算中的“上溢”,则是一种致命的错误,将使程序无法继续运行,所以要设法避免。
堆栈的数组模拟
十进制数N和其它d进制数的转换是实现计算的基本问题,解决方法很多,下面给出一中算法原理:N=(N div d)×d+N mod d (其中 div 为整除运算,mod为求余运算)。
例如:(1348)10=(2504)8运算过程如下:
N N div 8 N mod 8 1348 168 4 168 21 0 21 2 5 2 0 2 N N div 8 N mod 8 9413 ? ? ? ? ? ? ? ? ? ? ? ?
1、?
(9413)10=( )8=( )16=( )2
2、下面的程序实现这个转换过程,请补充完整。
数制转化程序【xoi00_07.pas】
program xoi00_07;
const size=100;
var a:array[1..size] of integer;
n,d,i,j:integer;
begin
writeln;
write(Please enter a number(N) base 10:);
readln(n);
write(please enter a number(d):);
readln(d);
i:=1;
repeat
a[i]:=n mod d;
n:=n div d;
inc(i);
until n=0;
for j:=i-1 downto 1 do write(a[j]:5);
end.
2、火车站列车调度示意图如下,假设调度站两侧的轨道为单向行驶轨道。
1、? 123,则可能的出战车厢序列是什么?
2、? 123456,问能否得到135426和435612的出站序列。
?
?
栈的用途极为广泛,在源程序编译中表达式的计算、
您可能关注的文档
- 传输设备维护人培训考试试题.doc
- 伽马射线吸收系的测量.doc
- 低压二氧化碳灭系统的结冰和爆震问题.doc
- 低应变基桩完整检测仪.docx
- 住院医师规范化训登记手册-外科说明.doc
- 体育专业知识(校体育学).doc
- 体育教师考试必试题库.doc
- 体验合作探究享成功愉悦.doc
- 作业许可证(PW).doc
- 供应商价格分析采购成本降低控制培训.doc
- 内蒙古自治区鄂尔多斯市第一中学2025-2026学年第一学期高一年级学业诊断检测12月月考语文试卷含答案.pdf
- 四川省2025-2026学年高三上学期12月阶段性自测地理试卷含答案.pdf
- 林区蓄水池防火配套建设指南.ppt
- 四川省2025-2026学年高三上学期12月阶段性自测历史试卷含答案.pdf
- 云南省2025-2026学年高三上学期12月阶段性自测地理试卷含答案.pdf
- 火灾区域生态修复实施指南.ppt
- 云南省2025-2026学年高三上学期12月阶段性自测历史试卷含答案.pdf
- 云南省2025-2026学年高三上学期12月阶段性自测日语试卷含答案.pdf
- 2025年水产养殖科技合作协议(鱼苗).docx
- 2025年水产养殖苗种繁育合作协议协议.docx
最近下载
- 三管船上培训记录簿附页样本要点.doc VIP
- 《人体肠道菌群》课件.ppt VIP
- 沪教版(上海)六年级上册数学知识点总结.docx VIP
- EEMBBATTERY 电池 电池 LIR18650 说明书.pdf
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 乘法结合律和乘法分配律练习题 (2).pdf VIP
- 中国铁路南宁局集团有限公司招聘笔试真题2023.docx VIP
- 纳税筹划第七版梁文涛课后习题答案.pdf VIP
- 2025年中职英语(新语文版)基础模块1词汇表.pdf VIP
- 2023-2024学年广东省广州市番禺区七年级(上)期末语文试卷(含详细答案解析).docx VIP
原创力文档


文档评论(0)