2013数据结构复习题
更新时间:2023-10-12 17:27:01 阅读量: 综合文库 文档下载
- 2013数据结构统考真题推荐度:
- 相关推荐
一、填空题
1.栈中元素的进出原则是 ,队列中元素的进出原则
是 。
2.设指针p指向单链表中结点A,指针s指向被插入的结点X,则在结点A的前
面插入结点X时的操作序列为:
1) s->next=___________;2) p->next=s;3) t=p->data; 4) p->data=___________;5) s->data=t;
3.假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素
占2个存储单元,基地址为10,则LOC[6,6]= 。 4.表达式a*(b+c)-d/e的后缀表达式为 。 5.设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则
e=_______。
6.设一棵完全二叉树中有100个结点,则该二叉树的深度为__________;若用
二叉链表作为该完全二叉树的存储结构,则共有___________个空指针域。 7.设有向图G的存储结构用邻接矩阵A来表示,则A中第i行中所有非零元素
个数之和等于顶点i的________。
8.利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排
序树以后,查找元素20要进行 次元素间的比较。
9.在活动图中,节点表示项目中各个工作阶段的里程碑,连接各个节点的边表
示活动,边上的数字表示活动持续的时间。在右边的活动图中,从A到J的关键路径长度是 ,从E开始的活动
启动的最早时间是 。
10.设一组初始记录关键字序列为(20,18,
22,16,30,19),则根据这些初始关键字序列建成的初始大根堆序列为________________________。
11.已知待散列的线性表为(36,15,40,63,22),散列用的一维地址空间为[0..6],假定选用的散列函数是H(K)= K mod 7,若发生冲突采用线性探查法处理,求出在查找每一个元素概率相等情况下的平均查找长度 。 12.在下面的程序段的时间复杂度为 。
for (int i=1;i for (int j=1;j 13.设二维数组A[0..10,0..20]按行优先顺序存储,每个元素占4个存储单元,A[2,1]的存储地址是1000,则A[5,6]的存储地址是 。 14.在循环单链表La(La为头指针)中,指针p所指结点为表尾的条件 。 15.设s=’YOU ARE STUDENT IT RIGHT OR WRONG’,顺序执行下列操作:SubString(sub1,s,1,8); SubString(sub2,s,20,5); StrCat(sub1,sub2); 则最后sub1的值为: 。 16.顺序存放的循环队列的元素以数组A[m]存放,其头尾指针分别为front和rear,则当前队列中的元素个数为 。 17.算法分析考虑的两个主要因素是 和 。 18.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结 点个数是 。 19.若待排序序列中具有相同关键字的记录在排好序后其相对位置发生了变化,则称这种排序方法是 。 20.为了保证图中的各顶点在遍历过程中访问且仅访问一次,需要为每个顶点设一个访问标志,因此要为图设置一个 ,用于标示图中每个顶点是否被访问过。 二、单项选择题 1.以下与数据的存储结构无关的术语是( )。 A.顺序队列 B.链表 C.有序表 D.链栈 2.以下数据结构中,( )是非线性数据结构。 A.树 B.字符串 C.队列 3.算法分析的两个主要方面是( )。 A.空间复杂性和时间复杂性 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 4.线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。 A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续或不连续都可以 5.设输入序列为1、2、3,则通过栈的作用后不可以得到的输出序列为( )。 A.3,1,2 B.3,2,1 A.a和(b,c) C.a 和((b,c)) C.1,3,2 D.1, 2,3 6.广义表(a,(b,c))的表头和表尾分别为( )。 B.(a)和(b,c) D.(a) 和((b,c)) D.栈 7.栈和队列的共同特点是( )。 A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 8.下面程序段的时间复杂度为( )。 for (int i=1;i B.O(m*n) C.O(n*n) D.O(log2n) 9.在双向循环链表中,在p指针所指的节点后插入q所指向的新节点,其修改指针的操作是( )。 A.p->next=q;q->prior=p;p->next->prior=q;q->next=q; B.p->next=q;p->next->prior=q;q->prior=p;q->next=p->next; C.q->prior=p;q->next=p->next;p->next->prior=q;p->next=q; D.q->prior=p;q->next=p->next;p->next=q;p->next->prior=q; 10.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是 ( )。 A.head==NULL B.head->next==NULL D.head!=NULL C.head->next==head 11.判定一个队列Q(最多元素为m)为满队列的条件是( )。 A.Q->rear-Q->front = = m C.Q->front = = Q->rear 12.串的长度是指( )。 A.串中所含不同字母的个数 C.串中所含不同字符的个数 B.串中所含字符的个数 D.串中所含非空格字符的个数 B.Q->rear- Q->front-1= = m D.Q->front = = Q->rear+1 13.设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的 顺序存储到连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A[5][4]地址与A[0][0]的地址之差为( )。 A.10 B.19 C.28 D.55 14.在下述结论中,正确的是( )。 ①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换; ④深度为K的完全二叉树结点个数小于或等于深度相同的满二叉树; A.①②③ B.②③④ 个数是( )。 C.②④ D.①④ 15.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点 A.9 A.n-1 B.11 B.n C.15 D.不确定 D.n+2 16.具有n个顶点的无向连通图的生成树应有( )条边。 C.n+1 17.设有向无环图G中的有向边集合E={<1,2>,<2,3>,<3,4>,<1,4>},则 下列属于该有向图G的一种拓扑排序序列的是( )。 A.1,2,3,4 B.2,3,4,1 C.1,4,2,3 D.1,2,4,3 18.对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长 度为( )。 A.(n-1)/2 B.n/2 C.(n+1)/2 D.n 19.从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)一端 的方法称为( )。 A.归并排序 C.插入排序 B.冒泡排序 D.选择排序 20.若一组记录的排序码为(46,79,56,38,40,84),则利用快速排序方法,以第一 个记录为基准得到的一次划分结果为( )。 A.38,40,46,56,79,84 C.40,38,46,56,79,84 B.40,38,46,79,56,84 D.40,38,46,84,56,79 21.设某个栈的入栈序列是A,B,C,D,E,则下面4个选项中不可能的出栈序列是 。 A.ADBEC B.BCDEA C.EBCAD D.EABCD 22.广义表(a,(b,c),d)的表头和表尾分别为 。 A.a和(b,c),d B.(a)和(b,c),d C.a和((b,c),d) D.(a)和((b,c),d) 23.设有向图的顶点个数为n,则该图是有向完全图的条件是边的条数满...足 。 A.n (n-1) B.n(n-1)/2 C.n(n+1)/2 D.n(n+1) 24.一个有n个顶点的无向连通图的生成树,其边的条数为 。 ..... A.n-1 B.n C.n+1 D.nlogn 25.一个有向图用邻接矩阵表示,要删除所有从第i个顶点发出的边,应该 。 A.将邻接矩阵的第 i 行删除 B.将邻接矩阵的第 i 行元素全部置零 C.将邻接矩阵的第 i 列删除 D.将邻接矩阵的第 i 列元素全部置零 26.已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则完全二叉树的结点个数最多是 。 A.39 B.52 C.111 D.119 27.在线索化二叉树中,t所指结点没有左子树的充要条件是 。 A.t->lchild==NULL B.t->ltag==1 C.t->ltag==0 D.以上都不对 28.AVL树是一种平衡的二叉排序树,树中任一结点的 。 A.左、右子树高度差的绝对值不超过1 B.左、右子树的高度均相同 C.左子树的高度均大于右子树高度 D.左子树的高度均小于右子树高度 29.下列四个序列中,哪一个是堆 。 A.75,65,30,15,25,45,20,10 B.75,65,45,10,30,25,20,15 C.75,45,65,30,15,25,20,10 D.75,45,65,10,25,30,20,15 30.下列排序在一趟结束后不一定能选出一个元素放在其最终位置上的 是 。 A.选择排序 B.归并排序 C.冒泡排序 D.快速排序 31.一组记录的关键字为46,79,56,38,40,84,利用快速排序的方法,以 第一个记录为基准得到的一次划分结果为 。 A.38,40,46,56,79,84 B.40,38,46,79,56,84 C.40,38,46,56,79,84 D.40,38,46,84,56,79 32.下列叙述中,不符合m阶B树定义要求的是 。 A.根节点最多有m棵子树 B.所有叶结点都在同一层上 C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接 三、应用题 1.设某棵二叉树的先序遍历序列为ABDFCEGH,中序遍历序列为BFDAGEHC,要求画出此二叉树并给出该二叉树的后序遍历序列。 2.设有无向连通网络G如下图所示 (1)画出其邻接矩阵存储; (2)从顶点①搜索所得的深度优先搜索(DFS)序列和广度优先搜索(BFS)序列; (3)请采用普里姆或克鲁斯卡尔算法画出G的最小生成树。 3.已知世界六大城市为:北京(Pe)、纽约(N)、巴黎(Pa)、 伦敦(L) 、 东京(T) 、 墨西哥(M),下表给定了这六大城市之间的交通里程: 世界六大城市交通里程表(单位:百公里) PE PE N 109 PA 82 L 81 T 21 M 124 N PA L T M 109 82 81 21 124 58 55 108 32 58 3 97 92 55 3 95 89 108 97 95 113 32 92 89 113 (1).画出这六大城市的交通网络图; (2).画出该图的邻接表表示法; (3).画出该图按权值递增的顺序来构造的最小(代价)生成树. 4.已知某系统在通信联络中只可能出现4种字符:a,b,c,d,其概率分别为1,3,5,7。要求: (1) 画出对应的哈夫曼树(要求左子树根结点的权小于等于右子树根结点的权) 。 (2)为这4个字符设计哈夫曼编码(要求左分支为0,右分支为1)。 (3)计算该哈夫曼树的最小加权路径长度WPL。 5.已知某系统在通信联络中只可能出现8种字符a,b,c,d,e,f,g,h,其概率分别为5,25,3,6,10,11,36,4。要求: (1) 画出对应的哈夫曼树(要求左子树根结点的权值小于等于右子树根结点的权值) 。 (2)为8个字符设计哈夫曼编码(规定左子树编码为0,右子树编码为1)。 (3)计算该哈夫曼树的最小加权路径长度WPL。 6.已知一个二叉树的顺序存储结构图如下: (1)请画出该二叉树; (2)写出该二叉树先序、中序遍历序列; (3)将其转化成等价的树或森林。 下标 1 结点 A 2 B 3 C 4 D 5 E 6 7 F 8 9 10 G 11 H 12 13 14 I 15 J 7.已知一有向网的邻接矩阵如下,如需在其中一个结点建立娱乐中心,要求该结点距其它各结点的最长往返路程最短,相同条件下总的往返路程越短越好,问娱乐中心应选址何处?给出解题过程。 V1?02???3?V2??032?????V3?4?0?4????V4?1??01??V5??1??03???V6???25?0? 8.AOE网可用来估算工程的完成时间,图3是某项工程AOE网的邻接表表示(V1地址为1),其中表结点第一个域为顶点,第二个域为权值。顶点V i表示事件,数字i表示事件的编号,边的数字(权值)表示活动所需的天数,求: (1)分别画出此项工程对应的邻接矩阵和AOE网。 (2)以顶点V1出发广度遍历图G(邻接表表示)所得的顶点序列。 (3)给出图G的一个拓扑排序序列。 (4)计算此项工程各事件(顶点)的ve(vi)和vl (vi)的函数值,各活动弧 的e(ai)和l(ai)的函数值,即各事件和各活动弧的最早开始时间和最迟开始时间? (5)根据计算结果确定此工程的关键路径及完成此工程的工期(即所需的 最少天数)? 9.给定一组关键字序列(SUN,MON,TUE,WED,THU,FRI,SAT),建立一个长度为10的哈希表,哈希函数为H(K)=(K中第一个字母在字母表中的序号)%7。要求:,并计算:对以下 (1)分别用线性探测和链地址两种方法处理冲突,画出所对应构造的哈希表 (散列表)。 (2)设每个记录的查找概率相等,分析并计算在以上两种处理冲突方法所构造的哈希表中进行查找时,查找成功的平均查找长度(ASLsucc)以及查找不成功的平均查找长度(ASLunsucc)。 10.将关键字序列(7,8,30,11,18,9,14),散列存储到散列表中,散列表的存储空间是一个下标从0开始的一个一维数组,散列函数为H(Key)=(Key×3) % P。处理冲突采用线性探测再散列法,已知装填因子为0.7。要求: (1)画出所构造的散列表(哈希表)。 (2)分别计算等概率情况下,查找成功和查找不成功的平均查找长度。 四、算法分析与设计题 1. 下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。 typedef struct {int s[100]; int top;} sqstack; void push(sqstack &stack,int x) { if (stack.top==m-1) printf(“overflow”); else {____________________; _________________;} } 2.二叉搜索树的查找——递归算法: bool Find(BTreeNode* BST,ElemType &item) { if (BST==NULL) return false; //查找失败 else {if (item==BST->data){ item=BST->data;//查找成功 return ___________;} else if(item return Find(______________,item); else return Find(_______________,item); }//if } 3.下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句。 struct record{int key; int others;}; int bisearch(struct record r[ ], int k) {int low=0,mid,high=n-1; while(low<=high) { ________________________________; if(r[mid].key==k) return(mid+1); else if(____________) high=mid-1; else low=mid+1;} return(0); } 4.下面是一趟快速排序的算法,待排序记录存放在记录数组r中,请在横线上填空,把算法补充完整。 int QKPass(RecordType r[], int low, int high) { x= r[low]; /* 选择基准记录*/ while ( low { while (low< high && r[high].key>=x.key ) high--; if (low while (low if ( low r[low]=x; /*将基准记录保存到low=high的位置*/ return low; /*返回基准记录的位置*/ } /* QKPass */ 5.(1) 将两个非递减的有序链表合并为一个非递增的有序链表。要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。表中允许有重复的数据。 (2) 设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A的元素类型为整型,要求B、C表利用A表的结点)。 (3) 已知长度为n的线性表A采用顺序存储结构,请写一时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为item的数据元素。 6.设计判断两个二叉树是否相同的算法。 7.已知带有表头结点的单链表,结点结构为: 假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。要求: (1)描述算法的基本设计思想。 (2)根据设计思想,采用C程序设计语言描述算法,关键之处请给出简要注 释。 8.利用二叉树递归遍历算法,编写统计二叉树中叶子结点数目的算法。二叉树采用二叉链表存储的类型定义如下: typedef char datatype; typedef struct Node { datatype data; struct Node *lchild,*rchild; }BiTree; 9.设二叉排序树按照二叉链表存储,编写算法InsertBST(BSTree *&bst, KeyType k)在二叉排序树中插入一个结点。二叉排序树的链式存储结构的类型定义如下:typedef int KeyType; typedef struct Node { KeyType key; struct Node *lchild,*rchild; }BSTree;
正在阅读:
2013数据结构复习题10-12
餐饮场所燃气安全培训05-14
语音试题库06-25
《一抓到底正风纪》观后感12-11
学校党务公开制度汇编04-12
关于组织征集企业管理优秀论文的通知11-18
分层走班制教学”模式构建04-26
当前中国国家与社会关系研究01-05
基督教追思会主持词三篇01-01
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 复习题
- 数据结构
- 2013
- 让学生在课堂上动起来
- 北师大版物理八年级下第六章《常见的光学仪器》单元测试卷
- 直线与方程教案
- 计算机在材料科学与工程中的应用A上机答案 - 图文
- 16年军考专升本押题卷一(语文)
- 特种设备安全管理责任制度
- 套题1 - C语言程序设计 - 答案
- 2016年合浦县经济运行情况分析报告
- C++实验九类和对象的使用实验报告
- 经典广告文案
- 2012泰州市中考英语真题及答案
- 111111杨坡中学任守昌
- 南方电网设备标准技术标书-10kV组合式变电站(贵州版)
- 2014年国家公务员考试申论真题及答案(副省级)
- 集中混凝土搅拌站施工方案
- 梅县松口镇见习报告 - 图文
- 发电机保护装置检验报告
- 更新会计教学观念加强会计实践性教学
- 20082009学年第一学期中小学期末考试
- SWIFT信用证编码及常见条款翻译审证 - 图文