- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十三讲:线性结构(线形表格、栈和队列)2
* * 第13讲: 数据结构之 队列 ◆中缀表达式求值(zhong.pas) ◆中缀表达式转换为后缀表达式(change.pas) 一、概念 在一端进行插入(进队列),在另一端进行删除(出队列)的线性表。 插入的一端称为队尾:closed; (指向队尾,最后一个元素) 删除的一端称为队首:open (习惯指向队首的前一位置,空的位置) 3 2 6 5 4 1 9 open closed 队列数组a下标: 1 2 3 4 5 6 7…… 队列空:open =closed ; 非空:openclosed 1、 定义: Const max Var q:array[1..max] of datatype; open,closed:integer; 2、队列的基本运算 队列的运算主要有两种: 入队:procedure add(x); 出队:function del 1)、过程ADD(x)—在队列q的尾端插入元素x procedure ADD( x:qtyper); begin {后移队尾指针并插入元素x} closed:=closed+1; q[closed]:=x; end;{ADD} 2)、函数DEL—取出q队列的队首元素 function DEL; begin open:=open+1; del:=q[open]; end;{DEL} 重要的用途:bfs(广度优先搜索算法) 【竞赛试题】 ①已知队列(13,2,11,34,41,77,5,7,18,26,15),第一个进入队列的元素是13,则第五个出队列的元素是(????? )。(NOIP9)??? A) 5????????? B) 41???????? C) 77??????? D) 13?????? E) 18 ②设栈S和队列Q的初始状态为空,元素e 1 ,e 2 ,e 3 ,e 4 ,e 5 ,e 6依次通过栈S,一个元素出栈后即进入队列Q,若出队的顺序为e 2 ,e 4 ,e 3 ,e 6 ,e 5 ,e 1 ,则栈S的容量至少应该为( )。(NOIP8) A)2 B)3 C)4 D)5 二、队列的应用 1、合并石子 【问题描述:】 小Ray在河边玩耍,无意中发现一些很漂亮的石子堆,于是他决定把这些石子搬回家。河滩上共有 n堆石子,小Ray在把石子搬回家之前首先要把这n堆石子合并为一堆石子。已知小Ray每次可以选择其中的两堆石子合并为一堆,合并一次石子他要消耗的体力是两堆石子的数量和。 请计算小Ray把n堆石子合并成一堆最少消耗的体力值是多少。 【输入:】 第一行:n(=30000). 第二行:那个用空格隔开的数,分别表示n堆石子的数量(每堆10000)。 【输出:】 n堆石子合并成一堆所消耗的最小体力值。 说明:分别用队列和堆两种算法实现。 【样例输入:】 3 1 2 4 【样例输出:】 10 opena:=1; openb:=1; closedb:=0; ans:=0; for i:=1 to n-1 do begin sum:=a[opena]+a[opena+1]; f:=1; if a[opena]+b[openb]sum then begin sum:=a[opena]+b[openb]; f:=2; end; if b[openb]+b[openb+1]sum then begin sum:=b[openb]+b[openb+1]; f:=3; end; inc(closedb); b[closedb]:=sum; inc(ans,sum); case f of 1: inc(opena,2); 2: begin inc(opena); inc(openb); end; 3: inc(openb,2); end; end;
您可能关注的文档
- 第一部分 电视制作系统和应用.ppt
- 第一部分券商集合产品月发行概况.doc
- 第一部分上海虹口区凉城新村街道概况.doc
- 第一部分宽甸满族自治林业局概况.doc
- 第一部分工作职责、责任体系、权力运行依据与工作流程.doc
- 第一部分模块一专题一中国古代政治制度地改革与创新.doc
- 第一部分淅川水利水保局单位概况.doc
- 第一部分选择题~题每小题分~题每小题分.doc
- 第一部分门户网站技术方法.doc
- 第一部分选择(每小题1分,共50分).doc
- 专卖店促销员销售与成交技巧培训课件(34P).pptx
- 红色商务风新员工入职销售技巧知识培训课件(34P).pptx
- 专卖店商场销售员销售与成交技巧培训课件(34P).pptx
- 小区物业保安法律知识培训课件(28P).pptx
- 专卖店销售员轻松成交技巧培训(34P).pptx
- 轻松成交客户新员工入职通用销售技巧知识培训(34P).pptx
- 2024年初级《银行业法律法规与综合能力》考前必刷必练题库500题(含真题、必会题).docx
- 2024年“新安法知多少”知识竞赛题库及答案(最新版).docx
- 2024年30秒毕业生面试工作自我介绍.docx
- 2024年《医务人员礼仪培训》心得体会.docx
文档评论(0)