网站大量收购独家精品文档,联系QQ:2885784924

第28讲复习2.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第28讲复习2

21 * * 授课者:章 英 E-mail:walking7876@ Essential of Lecture Twenty-Eight: 一、数组和广义表 二、串 三、栈和队列 四、线性表 五、绪论 数组的顺序存储 数组的压缩存储 广义表的定义 广义表的存储 知识体系结构 数组和广义表 串 串的三种存储 串操作 模式匹配 栈的操作 栈的应用 循环队列 队列的应用 知识体系结构 栈和 队列 线性表 链式存储 多项式相加 绪论 抽象数据类型 算法和算法分析 1、设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( )。 A. BA+141 B. BA+180 C. BA+222 D. BA+225 B 2、A[N,N]是对称矩阵,将下面三角(包括对角线)以行序存储到一维数组T[N(N+1)/2]中,则对任一上三角元素a[i][j]对应T[k]的下标k是( )。 A. i(i-1)/2+j B. j(j-1)/2+i C. i(j-i)/2+1 D. j(i-1)/2+1 B 3、请将香蕉banana用工具 H( )—Head( ),T( )—Tail( )从L中取出。 L=(apple,(orange,(strawberry,(banana)),peach),pear) H(H(T(H(T(H(T(L))))))) 4、设串采用顺序存储表示,编写一个算法,求子串t在主串s中出现的次数。 int CountSub(SString s,SString t) { int j,k,i=0,c=0; int m=StrLength(t),n=StrLength(s); while(i=n-m) { j=0;k=i; while(jm ____________) { k++; j++; } if(j==m) { ______; i+=___;} else ______; } return c; } 4、设串采用顺序存储表示,编写一个算法,求子串t在主串s中出现的次数。 int CountSub(SString s,SString t) { int j,k,i=0,c=0; int m=StrLength(t),n=StrLength(s); while(i=n-m) { j=0;k=i; while(jm s.data[k]==t.data[j]) { k++; j++; } if(j==m) {c++; i+= m;} else i++; } return c; } 5、串 ‘ababaaababaa’ 的next数组为( )。 A.012345678999 B.012121111212 C.011234223456 D.012312322345 C 6、 表达式3* 2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和算符栈为( ),其中^为乘幂 。 A. 3,2,4,1,1;(*^(+*- B. 3,2,8;(*^- C. 3,2,4,2,2;(*^(- D. 3,2,8;(*^(- D 7、画出对算术表达式A-B*C/D-E↑F求值时操作数栈和运算符栈的变化过程。 PUSH(OPND,D) D-E↑F# # - / ATD 7 PUSH(OPND,POP(OPND)*POP(OPND)) PUSH(OPTR,’/’) /D-E↑F# # - / AT(T=B*C) 6 PUSH(OPND,C) C/D-E↑F# # - * ABC 5 PUSH(OPTR,’*’) *C/D-E↑F# # - * AB 4 PUSH(OPND,B) B*C/D-E↑F# # - AB 3 PUSH(OPTR,’-’) -B*C/D-E↑F# # - A 2 PUSH(OPND,A) A-B*C/D-E↑F# # A 1 PUSH(OPTR,’#’) A-B*C/D-E↑F# # 初始 主要操作 输入字符 optr栈 opnd栈 步骤 X=POP(OPND) Y=POP(OPND) POP(OPTR) PUSH(OPND,y↑x) x=POP(OPND) y=POP(OPND

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档