- 1、本文档共114页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * 这个问题的程序可以有很多种写法,一种最直接的想法是利用两个数组,其中一个存放已经计算得到的第 k 行的值,然后输出第 k 行的值同时计算第 k+1行的值。如此写得的程序显然结构清晰,但需要两个辅助数组的空间,并且这两个数组在计算过程中需相互交换。如若引入"循环队列",则可以省略一个数组的辅助空间,而且可以利用队列的操作将一"琐碎操作"屏蔽起来,使程序结构变得清晰,容易被人理解。 * * * * * 1.错,线性表是逻辑结构概念,可以顺序存储或链式存储,与元素数据类型无关。 2. 对 3. 对 4. 错,栈是逻辑结构的概念,是特殊殊线性表,而链表是存储结构概念,二者不是同类项。 * 对 错,先进先出 * C * D * C * * 2、由于栈的操作仅限制在栈顶进行,也即元素的插入和删除都是在表的同一端进行的,因此不必设置头结点,头指针也就是栈顶指针, 4、由于出栈的输出序列即为队的输入和输出序列,故可不考虑队; 栈的容量至少为3 * 5、因出队在对头,入队在队尾,则对只设头指针的循环链表,查找对头只需一次,而查找队尾需要n次;对只设尾指针的循环链表,查找对头只需二次,查找队尾只需一次,故时间复杂度分别为O(1),O(n),O(1),O(1)。所以若用单链表表示队列,则应该选用带尾指针的循环链表。 打印杨辉三角 打印第k行,同时计算第k+1行的内容 处理每一行的程序为: do { DeQueue(Q, s); GetHead(Q, e); if (e!=0) printf (“%d”, e); EnQueue(Q, s+e); } while (e!=0); 利用循环队列计算二项式的过程: 假设只计算到第3行,则队列的最大容量为 。 1 1 0 0 q.front q.rear 1 1 0 0 1 q.front q.rear 1 1 0 2 1 q.front q.rear 1 1 0 2 1 q.front q.rear 1 0 0 2 1 q.front q.rear 1 0 1 2 1 q.front q.rear 5 1 0 1 2 1 q.front q.rear 1 0 1 2 3 q.front q.rear 1 0 1 3 3 q.front q.rear 1 0 1 3 3 q.front q.rear do { DeQueue(Q, s); GetHead(Q, e); if (e!=0) printf (“%d”, e); EnQueue(Q, s+e); } while (e!=0); 处理多行的程序: k=1; while?( k < n )?{ //?通过循环队列输出前 n-1 行的值?EnQueue ( Q,0 );? //?行界值“0”入队列?do { //?输出第 k 行,计算第 k+1 行? Dequeue( Q,s );? GetHead( Q,e );? if (e!=0) printf (“%d”, e); else printf(“\r\n”); EnQueue(Q,s+e);? }?while?(e!=0);?k++;? }?//?while 思考题: 为运动会比赛安排日程,即划分无冲突子集问题 问题描述:某运动会设立N个比赛项目,每个运动员可以参加1~3个项目。试问如何安排比赛日程,既可以使同一运动员参加的项目不安排在同一单位时间进行,又使总的竞赛日程尽可能短。 复习 栈 队列 ---------------- 顺序表 链表 ---------------- 应用 练习 判断对错: 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。 栈和链表是两种不同的数据结构。 1.错,线性表是逻辑结构概念,可以顺序存储或链式存储,与元素数据类型无关。 2. 对 3. 对 4. 错,栈是逻辑结构的概念,是特殊殊线性表,而链表是存储结构概念,二者不是同类项。 练习 判断对错 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。 对 错,先进先出 练习 单选题 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为( )。? A.i; B.n-i ; C.n-i+1; D.不确定? C 练习 假设顺序栈的定义为:?typ
您可能关注的文档
- 法拉第电磁感应练习1.doc
- 注射剂与眼用制剂.doc
- 14.2夫琅和费单缝衍射.ppt
- 第6课时-解决问题.ppt
- 17-8-夫琅和费单缝衍射.ppt
- 解决问题的策略一.ppt
- 尿路感染-正在危害男人的健康.ppt
- 解决问题的策略111.ppt
- 第2章-谓词逻辑-2.ppt
- 第八章--轴向拉伸与压缩.ppt
- 基于融合多源数据分析的包围圈式移动车辆视频追踪方法.pdf
- 一种大型双吸式风机降重抗弯转子结构.pdf
- 一种可分离废料和水并将其收集的数控机床夹具.pdf
- 一种服务器固件配置方法、装置、设备及可读介质.pdf
- 营销心理学(第五版及慕课) 课件 模块2 场景主体:消费者心理过程.pptx
- 营销心理学(第五版及慕课) 课件 模块7 场景行为:推销与说服心理效应.pptx
- 营销心理学(第五版及慕课) 课件 模块3 场景主体:消费者购买动机与行为.pptx
- AutoCAD工程制图案例教程(廖晓露) 课件 第7、8章 尺寸标注与编辑、图纸布局与出图.pptx
- AutoCAD工程制图案例教程(廖晓露) 课件 第8、9章 图纸布局与出图、绘制道路交通工程图.pptx
- 营销心理学(第五版及慕课) 课件 模块4 场景主体:消费者群体消费心理.pptx
文档评论(0)