




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2011年砸士碍死生入学母弑摒分枸与c语t谡针(斛0代賜:991)弑題与备會-、单坯(1聲懸(本懸黑20分,省J題各2分)1. 下列关于线性表的存储结构的叙述中,错误的是。A. 线性表的顺序存储结构中隐式地存储了数据元素之间的逻辑关系B. 线性表的顺序存储结构一泄需要占用一片地址连续的存储空间C. 线性表的链式存储结构通过指针来反映数据元素之间的逻辑关系D. 线性表的链式存储结构占用的存储空间一定不连续2. 若from和rear分别表示链接队列的队头指针与队尾指针,则向队列中插入一个由p 指的新元素的过程是依次执行。A. rear=p; front=p: B. front=p: rear=p:
2、C. rear-link=p; rear=p; D. front-link=p; rear=p;3. 下列关于二叉树的叙述中,正确的是。A.二叉树的度可以小于2 B.二叉树的度等于2C.二叉树中至少有一个结点的度为2D.二叉树中每一个结点的度都为24. 若某二叉树有40个叶结点,则该二叉树的结点总数最少是。A. 78 B. 79 C. 80 D. 815. 若采用邻接矩阵存储一个有向图,且邻接矩阵主对角线以F元素均为0,则该有向 图的拓扑序列。A. 存在且惟一 B.存在但可能不惟一C.不存在D.无法确定6. 下而关于AOE网的叙述中,正确的是。A. AOE网是一个带权的连通图B. AOE网是一
3、个带权的强连通图C. AOE网是一个带权的无回路的连通图D. AOE网是一个带权且无回路的有向图7. 下列关于线性表查找方法的叙述中,错误的是。A. 顺序查找法适合于采用顺序存储结构和链式存储结构的线性表的查找B. 对于相同元素,顺序査找法一泄能够查找到表中首次出现的元素C. 对于相同元素,折半査找法一定能够查找到表中首次出现的元素D. 对于相同元素,折半査找法不一泄能够査找到表中首次出现的元素8. 在二叉排序树中进行査找的平均时间效率主要与下列因素之一有关,该因素是。A.二叉排序树的深度B.二叉排序树中结点的个数的多少C.被査找结点的度D.二叉排序树的存储结构9. 下列4种排序方法中,每一趟
4、排序结束时不一泄能够确泄一个元素排序最终位巻的 是。A.插入排序B.快速排序C.堆积(Heap)排序D.二路归并排序710. 下列4种排序方法中,当待排序的序列中元素初始时已经按值有序,排序所花费的 时间反而有可能最多的是。A.泡排序B.谢尔(Shell)排序C.快速排序D.堆积(Heap)排序二、简备题(本題豐20分,备J題各5分)1. 等概率情况下,在长度为n的顺序表中插入和删除一个数据元素分别需要平均移动 多少个元素?移动的元素个数主要取决于哪几个因素?2. 在采用循环单链表作为某队列的存储结构时,可以只设置一个队头指针,也可以只 设置一个队尾指针。请问:从操作的时间效率考虑,采用哪种方
5、案更合适?为什么?3. 对于具有n个顶点、e条边的稀疏图和稠密图,就空间性能而言,采用邻接矩阵存 储方法和邻接表存储方法哪一种更合适?为什么?4. 什么是小顶堆积(Heap)?在小顶堆积中,值最大的元素可能处在什么位置?(可以 借助一棵二叉树描述)三、体合題(本題黑20分,备J題各5分)1. 卜-列算法的功能是删除长度为n的顺序表A中重复出现的多余元素,即对于重复岀 现的元素,表中只保留一个。请在算法的空白处填上必要的内容,使算法完整。void PURGE(ElemType A , int &n) int i=O,j,k;while(in)j=i+l;/*从第i+1个元素开始逐个与第i个元素比
6、较*/while(jn)if(A|j=Ai) /* 若Aj与Ai相同,删除Aj */for()Ak-l=Ak;n-;八修改表的长度*/Jelse2. 请将由题三2图给定的树转换为一棵二叉树。(只须画出转换后的二叉树)题三2图3. 已知某3阶B-树如题三3图所示,请画出在该B-树中插入关键字20以后得到的B-树。题三3图6030 50 7015 25 35 45 55 65 75ABCDEFGHIJ34请分别写岀对数据元素序列(49,3&65,97,76,13,27,49?按从小到大进行谢尔(Shell)排 序时每一趟的结果。设排序的间隔数(也称为增量)依次为4,2,1。妙、3?徒谡针题(本题1
7、5分)已知某哈夫曼树采用二叉链表存储,结点构造为lchild data rchild ,其中,叶结点的data域中已经存放了该叶结点对应的权值。请写一0进托簿坯,该算法的功能是讣 算根结点指针为T的哈夫曼树的带权路径长度(WPL)。要求:1. 用文字简要给出算法的基本思想;(5分)2. 根据算法的基本思想写出相应算法。(10分)N、紇厚离偵題(本題轻20分,題冬2分)1. 下列程序的输出结果是。main()charch= A;printf( uch( 1 )=%d,ch(2)=%cnM ,ch,ch+l);2. 下列程序段的输出结果是。k=l; t=3;dot+=k+;if(谀 7=0)con
8、tinue;else+k;while(t15);printf( 4%d ,k);3. 下列程序的输出结果是。#include main() int s12= 1,2,3,4,43,2,1,1,1,2,3,a5= 0,i;for(i=0;i12;i+)asi+;for(i=l;i5;i+)printf( d ,ai);printf( nM );4. 下列程序的输出结果是。#include main() charstrll5= good” ,str210= umorning;printf(,strlen(strcat(strI ,str2);3/105. 下列程序的输出结果是。main()4int
9、 a5=l,2,3,4,5,*p;p=a;printf( %dn ,*(+p);6. 下列程序的输出结果是。main() char *s= “13579” ;s+:printf( o%c%c%c,* 卢s,*(s+l),*s+l);7. 下列程序的输出结果是。#define MAX(A.B) (A)(B)?(A):(B)#define PRINT(Y) printf( Y=%dtM ,Y) main() int a=l,b=2,c=3,d=4,tcmp; temp=MAX(a+b,c+d);PRINT(temp);&下列程序的输出结果是。int fun(int x,int y) return(
10、x+y): main()int a=2,b=5,c=8;printf( u%dif ,fun(fun(a+c,bha-c);9. 下列程序的输出结果是。#include main()struct dateint yearjnonth.day; today;printf(,sizeof(struct date);10. 执行下列程序后,文件中的内容是。#include main() FILE *in,*out;char *strl= “YOU PLAN TO FAIL.;char *str2= “IF YOU FAIL TO PLAN.” ;if(in=fopen( , F” )!=NULL)w
11、hile(*strl!=)fputc(*strl+jn);fclose(in);if(in=fopen( , T )!=NULL)&(out=fopen()!=NULL)while(!eof(in)fgetc(in);5fputc(*str2+,out);fclose(in);fclose(out);兴、備空懸(本題M20分,各J怨冬4分)1. 对于下列程序,为了使输出结果为t=4,输入量x和y应该满足的条件是。main() int x,y,s=l,t=l;scanf( u%d,%d,&x,&y);if(x0)s=s+l;if(xy)t=s+t;else if(x=y)t=5;elset=2*
12、s;printf( t=%dM ,t);2. 若已有下列左义,则表达式p-b/n.a的值是,表达式p-b/n.a*+p-b的值是,表达式俨p).a+p-c的值是。struct numint a;int b;float c;n= l,3,50;struct num *p=&n;3. 下列程序段的功能是计算1000!的末尾含有多少个零。请在程序段的空白处填上必 要的内容,使程序段完整。(提示:只要汁算出1000!中含有因数5的个数即可) for(k=0,i=5;i=1000;i+=5)m=i;while()k+;m=m/5;4下列程序的功能是通过指针操作,找出并输出三个整数中的最小者。请在程序的空
13、白 处填上必要的内容,使程序完整。include main()int *a.*b严c,num.x,y,z;a=&x;b=&y;c=&z;printf( “Inputabc:);6scanf( u%d%d%dM ,a,b,c);printf( u%d,%d,%dn卢a,*b,*c);num=*a;if(*a*b);if(num*c);printf( “The minimun=%dii .num);5. 下列程序的功能是先由用户通过键盘输入一个文件名,然后向此文件输入一串字符 (假设输入以字符“#”结束),最后再将当前日期写到文件的尾部。请在程序的空白处填上 必要的内容,使程序完整。#includ
14、e main()char ch,date20,fname30;HLE *fp;printf( Input the);scanf( “s ,fname);if(fp=fopen()=NULL)printf( 44Can not open !n Jname);exit(O);printf( Input a string:if );while(ch=getchar( )!=)fjputc( );printf( Enter date:n );scanf( u%s .date);fprintf();fclose(fp);、紇为谡讨題(本題15分)请编写一C语言程序,该程序的功能是先通过键盘输入一个整数n
15、,然后调用一个(M% 5Mfun(int n)计算1+2+3+n,最后输出计算结果。人、絵步锻针题(本题20分)请设计一C语言函数(注:只须写出函数,不必写岀完整程序),该函数的功能是用尽可 能高的时间效率与空间效率将一个int类型的数组A0. n-1的所有元素依次循环右移k个位 置。例如,对于某数组,当k二3时(即把数组所有元素循环右移3个位置),是将10 20 30 40 50 60 70 转换为50 60 70 10 20 30 407屛君备令:1. D2. C3. A4. B5. B6. D7. C& A 9. D10. C二、筒备题1. 答:在等概率情况下,在长度为n的顺序表中插入一
16、个数据元素需要平均移动n/2个元素,删除一个数据元素需要平均移动(n-l)/2个元素。具体移动的元素个数主要取决 于表的长度n以及插入或删除的位置,位置越接近n,做需要移动的元素就越少。2. 答:只设宜一个队尾指针更合适。因为对于采用循环单链表作为存储结构的队列而 言,可以通过队尾指针在0(1)的时间内找到队头指针,而只设置队头指针要在0(n)的时间 内才能找到队尾指针。因此,只设巻队尾指针,进队和出队操作的时间复杂度均为0(1); 而只设置队头指针,出队操作的时间复杂度为0(1),但进队操作的时间复杂度为0(n)o3. 答:一般情况下,采用邻接矩阵存储图需要一个一维数组存储顶点的数据信息和一
17、 个二维数组(称之为邻接矩阵)存储边或弧的信息,因此,空间复杂度为0(”),与图中边 或弧的数量无关,可见邻接矩阵适合存储稠密图:而采用邻接表需要分别将以某顶点为出发点 的所有边对应的边结点链接为一个线性链表,同时用一个一维数组存储图中顶点的数据信以 及指向以该顶点为岀发点的第一条边对应的边结点的指针,因此,空间复杂度为O(n+e),可 见图中边(或弧)数越少需要的存储空间就越少,因此,邻接表适合存储稀疏图。4. 答:如果借助二叉树来描述,小顶堆积是一棵完全二叉树,二叉树中任意分支结点 的值均小于或等于其左孩子和右孩子(若右孩子存在)的值。堆积中值最大的元素对应的结 点一泄是叶结点,否则,该结
18、点必泄有大于它的孩子结点,这与小顶堆积的左义相矛盾;因 此,7/10值最大的元素对应的结点只能作为叶结点出现在二叉树的最下而两层中的一层中。1. (Dk=j;klchild; /*将P移到其左孩子结点*/p二STACK1top;flag=STACK2top; /* 退栈*/辻(f lag=O) STACKl+topp; /*当前p指结点的地址再次进栈*/STACK2top=l; /* 标志 1 进栈*/p=p-rchild; /*将p移到其右孩子结点*/else辻(p-lchild=NULL& p-rchild=NULL) /* p指结点为叶结点*/WPL=WPL+p-data* (top+1
19、);p二NULL;治Mle(! (p二二NULL& top=-l):returnWPL;丑、給再窗績題1. ch (1)=65, ch (2) =B 2. 8 3. 4332 4. 115. 2 6. 354 7. Y=7 & 99. 6 10. IF YOU FAIL TO PL兴、话空題1. 0xy 2.3 12 6 03. m%5=0 4.num二*b num二*c5. fname, V ch, fp fp, u%s , datedouble fun(int n)double s;if(n=l)return 1;s=n+fun(n-1);return s;9main() double sum;int n;printf( Input n:w );scanf ( &d、 , &n);sum=fun(n);printf( The result is %lfnM , sum);八、程为说外遵(1)算法的基本思想:根据k值将数组A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB32/T 4574-2023大蒜机械化播种收获作业质量评价技术规范
- DB32/T 4456-2023农村区域性养老服务中心建设和服务规范
- DB32/T 4409-2022水下公路隧道运营规范隐患排查治理
- DB32/T 4200-2022肿瘤放射治疗质量控制规范
- DB32/T 4158-2021化妆品不良反应监测工作指南医疗机构
- DB32/T 3928-2020刀鲚生态养殖技术规程
- DB32/T 3817-2020灌溉用水定额
- DB32/T 3761.30-2021新型冠状病毒肺炎疫情防控技术规范第30部分:高风险人员转运
- DB32/T 3600-2019雨花玉鉴定和分级
- DB32/T 3508-2019岸基雷达监测海面溢油技术规范
- 天津市公安局为留置看护总队招聘警务辅助人员笔试真题2024
- 浙江省强基联盟2024-2025学年高一下学期5月月考地理试题(含答案)
- 商铺份额代持协议书
- 2025年高分子聚合物市场调查报告
- 2025年安徽马鞍山博望港华燃气有限公司招聘笔试参考题库附带答案详解
- 2024年湖南省永州市江华瑶族自治县数学三上期末检测试题含解析
- 2024年通信安全员ABC证考试试题库附答案
- 2023年广东省乳源瑶族自治县事业单位公开招聘名笔试题带答案
- 合肥市2025届高三年级5月教学质量检测(合肥三模)物理试题+答案
- 王者荣耀考试题及答案
- 环保与可持续发展行业:固体废弃物资源化利用的商业模式创新
评论
0/150
提交评论