- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
树和二叉树习题课 1.有实现同一功能的两个算法A1和A2,其中A1的时间复杂度为Tl=O(2n),A2的时间复杂度为T2=O(n2),仅就时间复杂度而言,请具体分析这两个算法哪一个好。 2.设有两个栈S1,S2都采用顺序栈方式,并且共享一个存储区[O..maxsize-1],为了尽量利用空间,减少溢出的可能,可采用栈顶相向,迎面增长的存储方式。试设计S1,S2有关入栈和出栈的操作算法。 #define maxsize//两栈共享顺序存储空间所能达到的最多元素数 #define elemtp int //假设元素类型为整型 typedef struct { elemtp stack[maxsize]; //栈空间 int top[2]; //top为两个栈顶指针 }stk; stk s; //s是如上定义的结构类型变量,为全局变量。 (1)入栈操作: int push(int i,int x) //入栈操作。i为栈号,i=0表示左边的栈s1,i=1表示右边的栈s2,x是入栈元素。入栈成功返回1,否则返回0。 { if(i0||i1){printf(“栈号输入不对”);exit(0);} if(s.top[1]-s.top[0]==1) {printf(“栈已满\n”);return(0);} switch(i) { case 0: s.stack[++s.top[0]]=x; return(1); break; case 1: s.stack[--s.top[1]]=x; return(1); } } (2) 退栈操作 elemtp pop(int i) //退栈算法。i代表栈号,i=0时为s1栈,i=1时为s2栈。退栈成功返回退栈元素,否则返回-1。 { if(i0 || i1){printf(“栈号输入错误\n”);exit(0);} switch(i) { case 0: if(s.top[0]==-1) {printf(“栈空\n”);return(-1);} else return(s.stack[s.top[0]--]); case 1: if(s.top[1]==maxsize {printf(“栈空\n”); return(-1);} else return(s.stack[s.top[1]++]); } }//算法结束 3.已知三个带头结点的线性链表A、B和C中的结点均依元素值自小至大非递减排列(可能存在两个以上值相同的结点),编写算法对A表进行如下操作:使操作后的链表A中仅留下三个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用结点。 LinkedList Common(LinkedList A,B,C) ∥A,B和C是三个带头结点且结点元素值非递减排列的有序表。本算法使A表仅留下三个表均包含的结点,且结点值不重复,释放所有结点。 { pa=A-next;pb=B-next;pc=C-next; ∥pa,pb和pc分别是A,B和C三个表的工作指针。 pre=A;∥pre是A表中当前结点的前驱结点的指针。 while(pa pb pc)∥当A,B和C表均不空时,查找三表共同元素 { while(pa pb) if(pa-datapb-data) { u=pa;pa=pa-next;free(u);} ∥结点元素值小时,后移指针。 else if(pa-data pb-data)pb=pb-next; else if (pa pb) ∥处理A和B表元素值相等的结点 { while(pc pc-datapa-data)pc=pc-next; if(pc) { if(pc-datapa-data) ∥pc当前结点值与pa当前结点值不等,pa后移指针。 { u=pa;pa=pa-next;free(u);} else ∥pc,pa和pb对应结点元素值相等。 { if(pre==A){ pre-next=pa;pre=pa;pa=pa-next} ∥结果表中
您可能关注的文档
- 手、海竿组装吊钩绑法.doc
- 手把手教你把surfer和grapher转成mapgis图像.doc
- 手把手教你如何做生鲜.doc
- 手机_APP_时代新应用.ppt
- 手机APP广告的精准化传播研究毕业论文.doc
- 手机ROM制作教程.doc
- 手机病毒综合防护平台.ppt
- 手机电路原理.ppt
- 手机电路中的常用英文缩写 Word 文档.doc
- 手机开发流程.doc
- 2025年岳麓版八年级科学下册阶段测试试卷 .docx
- 环保公益:成果与挑战-团队协作中的实践与反思.pptx
- 19春上海交通大学医学院 毕业论文写作指导作业-1-3附答案.doc
- 化学安全与实验室管理-化学安全演讲.pptx
- 2023-2024学年浙江摄影版(三起)(2020)小学信息技术五年级下册1.docx
- 初中数学新北师大版七年级下册第四章4习题4.4教学课件2025春.pptx
- 2025年人民版高三数学下册阶段测试试卷 .docx
- 2025年湘师大新版九年级物理上册月考试卷 .docx
- 2023-2024学年泰山版信息技术(2018)第五册 《第一单元 寻找美丽声音 1 动听音乐大联放》说课稿.docx
- 宁夏开放大学《数控机床电气控制》形考作业二-null分.doc
文档评论(0)