




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构Java版第二章习题数据结构Java版第二章习题数据结构Java版第二章习题数据结构Java版第二章习题编制仅供参考审核批准生效日期地址:电话:传真:邮编:(按照自己的情况选作部分习题,不要抄袭)第二章习题顺序存储线性表一判断题1.线性表的逻辑顺序与存储顺序总是一致的。×2.顺序存储的线性表可以按序号随机存取。√3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。×4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。√5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。×6.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。√二单选题(请从下列A,B,C,D选项中选择一项)1.线性表是(A)。(A)一个有限序列,可以为空;(B)一个有限序列,不能为空;(C)一个无限序列,可以为空;(D)一个无序序列,不能为空。2.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。插入一个元素时平均要移动表中的(A)个元素。(A)n/2(B)n+1/2(C)n-1/2(D)n三填空题1.在顺序表中做插入操作时首先检查___表是否满了______________。四算法设计题设线性表存放在向量A[arrsize]的前elenum个分量中,且递增有序。试写一算法,将x插入到线性表的适当位置上,以保持线性表的有序性。并且分析算法的时间复杂度。已知一顺序表A,其元素值非递减有序排列,编写一个函数删除顺序表中多余的值相同的元素。编写一个函数,从一给定的顺序表A中删除值在x~y(x<=y)之间的所有元素,要求以较高的效率来实现。提示:可以先将顺序表中所有值在x~y之间的元素置成一个特殊的值,并不立即删除它们,然后从最后向前依次扫描,发现具有特殊值的元素后,移动其后面的元素将其删除掉。线性表中有n个元素,每个元素是一个字符,现存于向量R[n]中,试写一算法,使R中的字符按字母字符、数字字符和其它字符的顺序排列。要求利用原来的存储空间,元素移动次数最小。(研54)线性表用顺序存储,设计一个算法,用尽可能少的辅助存储空间将顺序表中前m个元素和后n个元素进行整体互换。即将线性表(a1,a2,…,am,b1,b2,…,bn)改变为:(b1,b2,…,bn,a1,a2,…,am)。五上机实习题目约瑟夫环问题约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,每个人持有一个正整数密码。开始时任选一个正整数做为报数上限m,从第一个人开始顺时针方向自1起顺序报数,报到m是停止报数,报m的人出列,将他的密码作为新的m值,从他的下一个人开始重新从1报数。如此下去,直到所有人全部出列为止。令n最大值取30。要求设计一个程序模拟此过程,求出出列编号序列。package算法设计;importimportimportpublicclassYueSeFu{publicstaticvoidmain(String[]args){Scannerscan=newScanner;"请输入总人数:");inttotalNum=();"请输入报数的大小:");intcycleNum=();yuesefu(totalNum,cycleNum);();}publicstaticvoidyuesefu(inttotalNum,intcountNum){链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用(D)存储方式最节省运算时间。(A)单链表(B)双链表(C)单循环链表(D)带头结点的双循环链表循环链表的主要优点是(D)。(A)不在需要头指针了(B)已知某个结点的位置后,能够容易找到他的直接前趋(C)在进行插入、删除运算时,能更好的保证链表不断开(D)从表中的任意结点出发都能扫描到整个链表下面关于线性表的叙述错误的是(B)。线性表采用顺序存储,必须占用一片地址连续的单元;线性表采用顺序存储,便于进行插入和删除操作;线性表采用链式存储,不必占用一片地址连续的单元;线性表采用链式存储,不便于进行插入和删除操作;单链表中,增加一个头结点的目的是为了(C)。(A)使单链表至少有一个结点(B)标识表结点中首结点的位置(C)方便运算的实现(D)说明单链表是线性表的链式存储若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(D)存储方式最节省运算时间。(A)单链表(B)仅有头指针的单循环链表(C)双链表(D)仅有尾指针的单循环链表若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省运算时间(C)。(A)单链表(B)顺序表(C)双链表(D)单循环链表三填空题1.带头结点的单链表H为空的条件是__H->next==NULL_____。非空单循环链表L中*p是尾结点的条件是___p->next==L________。3.在一个单链表中p所指结点之后插入一个由指针f所指结点,应执行s->next=__p->next___;和p->next=____s_________的操作。4.在一个单链表中p所指结点之前插入一个由指针f所指结点,可执行以下操作:s->next=_p->next_______;p->next=s;t=p->data;p->data=___s->data________;s->data=____t_______;四算法设计题1.已知带头结点的单链表L中的结点是按整数值递增排列的,试写一算法,将值为x的结点插入到表L中,使得L仍然有序。并且分析算法的时间复杂度。packagexiti; classLii{ intdata; Liinext; publicLii(){ data=0; } publicLii(intid){ data=id; } publicvoiddisplay(){ ""); } } classLii_2{ publicLiifirst; publicLii_2(){ first=newLii(); } publicbooleanisEmpty(){ return==null); } publicbooleaninsert_2(intid){ Liinewnode=newLii(id); Liip=first; while!=null&& p=; =; =newnode; returntrue; } publicvoidlistdisplay(){ Liip=first; "显示链表:"); while(p!=null){ (); p=; } "**************"); } } publicclassL{ publicstaticvoidmain(String[]args){ Lii_2s1=newLii_2(); for(inti=1;i<=9;i=i+2){ (i); } (); (2); (); }}时间复杂度:O(elenum)2.假设有两个已排序的单链表A和B,编写一个函数将他们合并成一个链表C而不改变其排序性。packagexiti1;classlink{ intdata;假设长度大于1的循环单链表中,既无头结点也无头指针,p为指向该链表中某一结点的指针,编写一个函数删除该结点的前趋结点。4.已知两个单链表A和B分别表示两个集合,其元素递增排列,编写一个函数求出A和B的交集C,要求C同样以元素递增的单链表形式存储。packagexiti;classlink{ publicintdata;设有一个双向链表,每个结点中除有prior、data和next域外,还有一个访问频度freq域,在链表被起用之前,该域其值初始化为零。每当在链表进行一次Locata(L,x)运算后,令值为x的结点中的freq域增1,并调整表中结点的次序,使其按访问频度的递减序列排列,以便使频繁访问的结点总是靠近表头。试写一个算法满足上述要求的Locata(L,x)算法。五上机实习题目一元多项式的相加提示:一元多项式的表示问题:对于任意一元多项式:Pn(x)=P0+P1X1+P2X2+…+PiXi+…+PnXn可以抽象为一个由“系数-指数”对构成的线性表,且线性表中各元素的指数项是递增的:P=((P0,0),(P1,1),(P2,2),…,(Pn,n))(2)用一个单链表表示上述线性表,结点结构为:coefexpnexttypedefsturctnodecoefexpnext{floatcoef;/*系数域*/intexp;/*指数域*/structnode*next;/*指针域*/}PloyNode;package一元多项式的加法;import一元多项式的加法.;publicclassLinkedAdd{publicNodeadd(Eleme1,Eleme2){Nodepre=();Nodeqre=();Nodep=;Nodeq=;Noderesult=p;while(p!=null&&q!=null){if<{pre=p;p=;}elseif>{Nodetemp=;=q;=p;q=temp;}else{=+;if==0){=;p=;}else{pre=p;p=;}=;q=;}}if(q!=null){=q;}returnresult;}publicstaticvoidmain(String[]args){Elemnode1=newElem();(7,0);(12,3);(2,8);(5,12);Elemnode2=newElem();(4,1);(6,3);(2,8);(5,20);(7,28);LinkedAddl=newLinkedAdd();Nodenode=(node1,node2);while(node!=null){"coef:"++"exp:"+;node=;}}}package一元多项式的加法;classElem{publicclassNode{publicintcoef;/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC TR 63424-1:2024 EN Validation of dynamic power control and exposure time-averaging algorithms - Part 1: Cellular network implementations for SAR at frequencies up to 6 G
- 2025-2030年中国防晒霜产业竞争格局及发展盈利分析报告
- 2025-2030年中国铍铜合金市场运行态势及投资策略分析报告
- 2025-2030年中国速凝剂市场运行态势规划研究报告
- 2025-2030年中国茶黄素产业运行趋势及发展前景分析报告
- 2025辽宁省安全员-B证(项目经理)考试题库
- 2025-2030年中国节水灌溉行业运行现状及发展前景分析报告
- 2025年辽宁省建筑安全员知识题库附答案
- 2025-2030年中国羟乙基皂荚胶行业市场运行现状及投资发展前景预测报告
- 2025-2030年中国硫酸氧钒行业发展趋势及投资战略研究报告
- 定量包装商品培训
- 毛戈平-+毛戈平深度报告:再论毛戈平商业模式与核心壁垒:个人IP+化妆学校+线下服务
- 第二章美容手术的特点及其实施中的基本原则美容外科学概论讲解
- 山东省潍坊市2024-2025学年高三上学期1月期末考试生物试卷含答案
- 2025年“春训”学习心得体会例文(3篇)
- 乐理知识考试题库130题(含答案)
- 前言 马克思主义中国化时代化的历史进程与理论成果
- 趣味历史(课堂PPT)
- 供应链供应链管理
- 《消防安全评估检查记录》
- XXX广播电视网络公司关于推进网格承包经营方案
评论
0/150
提交评论