- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
*/32 综合应用题 (2)求链表中的最大整数 int List :: Max(ListNode * f) { if (f-link==0) return f-data; //递归结束条件 /*在当前结点的后继链表中求最大值*/ int temp=Max(f-link); /*如果当前结点值大,返回当前结点值*/ if (f-data temp) return f-data; else return temp; //否则返回后继链表中的最大值 } */32 综合应用题 (3)求所有整数的平均值 float List :: Avg (ListNode *f, int n){ if (f-link==0) { n=1; return (float)(f-data); } else{ float sum=Avg(f-link,n)*n; n++; return(f-data + sum)/n; } } * * * * 数据结构与算法 线性表 习题 */32 本节重点 复习要点 单项选择题 综合应用题 */32 线性表-复习要点(1) 1.线性表的概念 线性表的定义和特点 线性表的基本操作 2.线性表的存储表示 顺序表的定义及基本运算的实现 单链表的定义及基本运算的实现 3.线性表的特殊链接表示 循环链表的特殊遍历方式 双向链表的方向性 */32 线性表-复习要点(2) 4.线性表的应用(1) 在一维数组上的算法,如原地逆置、非零元素压缩、成块元素移动等。 在一维数组上的递归算法,如求和平均值等。 在顺序表上的查找、插入、删除、合并、求交等算法及性能分析。 在单链表上的迭代求解算法及性能,包括统计链表结点个数、在链表中寻找与给定值x匹配的结点、在链表中寻找第i个结点、链表逆转等。 */32 线性表-复习要点(3) 4.线性表的应用(2) 带表头结点的单链表上的迭代算法,包括统计链表结点个数、在链表中寻找与给定值x匹配的结点、在链表中寻找第i个结点、两个有序链表的合并等。 单链表的递归算法,包括统计链表结点个数、在链表中寻找与给定值x匹配的结点、在链表中寻找第i个结点、求链表各结点值的和、平均值等。 循环链表的迭代算法、双向链表的迭代算法。 5.多项式的建立,两个多项式的相加,两个多项式的相乘算法 */32 单项选择题 */32 单项选择题 */32 单项选择题 */32 单项选择题 */32 单项选择题 */32 单项选择题 例11 若在长度为n的顺序表的表尾插入一个新元素的渐 进时间复杂度是( )。 A.O(n) B.O(1) C.O(n2) D.O(log2n) 【解答】B。在有n个元素的顺序表的表尾插入一个新元素,可直接在表的第n+1个位置插入,渐进时间复杂度为O(1)。 */32 综合应用题 此题还有其他做法 */32 复习要点(1) 1.栈的定义及特点 栈的定义、栈顶与栈底概念 栈的基本运算,包括进栈、出栈、判空栈、置空栈等 2.栈的存储表示 顺序栈的实现及基本操作 链式栈的实现及基本操作 3.队列的定义及特点 队列的定义、先进先出特点 队列的基本运算,包括进队、出队、判队空、置空队 */32 复习要点(2) 4.队列的存储表示 队列的顺序存储及基本操作 队列的链式存储及基本操作 5.栈的应用 栈在递归过程中作为工作栈的使用,栈在表达式计算中从中缀表示转后缀表示,栈在括号配对中的应用,栈在数制转换中的应用 双栈共用一个数组的进栈、退栈、置空栈算法及栈满、栈空条件,使用两个栈模拟一个队列时的进队列和出队列算法。 */32 复习要点(3) 6.队列的应用 队列在分层处理中的使用,包括二叉树、树、图等 层次遍历过程中的使用 队列在对数据循环处理过程中的使用,例如约瑟夫问题、归并排序 队列在调度算法中的使用 */32 单项选择题 例1 为解决计算机主机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区。主机将要打印输出的数据依次写入缓冲区,而打印机则依次从该缓冲区中取出数据,该缓冲区的逻辑结构应该是( )。 A、栈 B、队列 C、树 D、图 【解答】 B。通常用于输入输出的缓冲区都是采用先入先出的队列。 */32 单项选择题 例2 设栈S和队列Q的初始状态都为空,元素a,b,c,d,e,f,g依次进入栈S.如果每个元素出栈后立即
文档评论(0)