2015-2016第2学期数据结构大作业题目

合集下载

2016011252数据结构(本)-国家开放大学(中央电大)2016年1月本科期末考试试题+答案

2016011252数据结构(本)-国家开放大学(中央电大)2016年1月本科期末考试试题+答案

元素,其相应的三元组表共有 3 个元素。该矩阵 A 有(
)列。
A.8
B.9
C. 7
D.10
2. 子串 "acd"在主串 "abdcacdefac" 中的位置是(
)。
A.3
B.5
C.7
D.1
3. 序列 12 , 16 , 8 , 4 按顺序依次进钱,按该校的可能输出序列依次入队列,该队列的不可能
输出序列是(
试卷代号 ~1252
座位号C口
国家开放大学(中央广播电视大学 )2015 年秋季学期"开放本科"期末考试
数据结构{本} 试题
2016 年 1 月
民十二十二十斗4「
一、单项选择题{每小题 2 分,共 30 分)
1.对稀疏矩阵进行压缩存储,可采用三元组表,一个有 10 行的稀疏矩阵 A 共有 97 个零
C.23
D.14 855
13. 设有一个 28 阶的对称矩阵 A ,采用压缩存储的方式,将其下三角部分以行序为主序存储
到一维数组 B 中(数组下标从 1 开始) ,则数组中第 26 号元素对应于矩阵中的元素是(
)。
A. a7.5
B. a7.6
C. a6.5
D. a7.4
14. 在→个不带头结点的单循环链表中, p 、 q 分别指向表中第一个结点和尾结点,现要删除第 4
是新表中第 20 号元素的值为
2 1.设有一棵有 38 个结点的完全二叉树,该树共有
层。{根所在结点为第 1 层)
22. 一棵有 18 个结点的二叉树,其 2 度结点数的个数为 8 ,则该树共有←一一一一个 1 度结点。
23. 对一组记录(1, 3 , 9 , 2 , 12 , 7 , 5 ,仁的进行直接插入排序(由小到大排序) ,当把第 6 个记

数据结构》作业题答案

数据结构》作业题答案

参考答案第一章、绪论一、选择题1 B;2 A; 3 B;4 C ;5 C; 6 B;7 C;8 C;9 D;10 B。

二、填空题1、存储;2、无,1,无,1;3、前驱,1,后继,任意多个;4、一对一,一对多,多对多;5、时间复杂度,空间复杂度;6、集合,线性结构,树形结构,图形结构;7、顺序结构,链式结构,索引结构,散列结构;8、顺序。

三、问答题与算法题1、3 ;2、T1 ( n ) = 5n 2 -O ( n ) ; T2 ( n ) = 3 n 2 + O ( n ) ; T3 ( n ) = 8 n 2 + O(log n) ;T4 ( n ) = 1.5 n 2 + O ( n ) 。

T4 ( n ) 较优,T3 ( n )较劣。

3、见课本。

第二章线性表一、选择题1C;2A;3D;4B;5D;6B;7C;8B;9A;10C;11D;12D;13C;14C.二、填空题1、O ( 1 ), O ( n );2、单链表,双链表;3、地址,指针;4、4,2;5、便于访问尾结点和头结点;6、前驱;7、L->next== L且L->prior== L;8、顺序。

三、问答题与算法题1、头指针:结点或头结点的指针变量。

其作用是存放第一个结点或头结点的地址,从头指针出发可以找到链表中所有结点的信息。

头结点:是附加在链表的第一个结点之前的一个特殊结点,其数据域一般不存放信息。

其作用是为了简化运算,将空表与非空表统一起来,将第一个结点与其他结点的处理统一起来。

首结点:是链表的第一个结点。

2、(1)基于空间的考虑。

当要求存储的线性表长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表;反之,当线性表长度变化大,难以估计其存储规模时,采用动态链表作为存储结构为好。

(2)基于时间的考虑。

若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构为宜;反之,若需要对线性表进行频繁地插入或删除等的操作时,宜采用链表做存储结构。

数据结构习题(有答案)

数据结构习题(有答案)

1.1有下列几种二元组表示的数据结构,试画出它们分别对应的图形表示,并指出它们分别属于何种结构。
(1) A= ( D,R ),其中,D = { a1,a2,a3,a4},R={ }
(2) B= ( D,R ),其中,D = { a,b,c,d,e},R={ (a,b),(b,c),(c,d),(d,e)}
stack<int> S; //建立一个栈
while( N!=0) { // N非零
i=N%B ; //从低到高,依次求得各位
N=N/B;
S.push(i); }//各位入栈
while ( !S.StackEmpty()) { //栈不空
{ i= S.pop();
If (i>9) i=’A’+10-i;
{ stack S; //借助一个栈
int x;
cin>>x;
while (x) {
S.push(x);
cin>>x; }
sum=0;
cout<<sum;
while ( x=S.pop() ) {
sum+=x; cout<<sum; }
} //
10.简述以下算法的功能(栈和队列的元素类型均为int)。
while { p->next && j<i-1 } {
p=p->next; j++ ; }
if ( !p->next || j>i-1 ); //定位失败
throw“删除位置不合理”;
else { //定位成功,进行结点删除
q=p->next;
x=p>data;

(完整版)数据结构试题包含答案

(完整版)数据结构试题包含答案

一、一、单选题(每题2 分,共20分)1. 1. 栈和队列的共同特点是( )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2. 2. 用链接方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3. 3. 以下数据结构中哪一个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4. 4. 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

A.688 B.678 C.692 D.6965. 5. 树最适合用来表示( )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6. 6. 二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.7. 若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.8. 对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.9. 对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.10. 设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

A.5B.6C.7D.8二、二、填空题(每空1分,共26分)1. 1. 通常从四个方面评价算法的质量:_________、_________、_________和_________。

数据结构试题大题编程及参考答案

数据结构试题大题编程及参考答案

数据结构考试题参考答案1、设顺序表L中的数据元素递增有序。

试写一算法,将数据元素x插入到顺序表L的适当位置,以保持该表的有序性。

解:存储结构为:typedef struct SeqList{ DataType *data;int MaxLen;int len;}SeqList;算法如下:void insertLx(SeqList &L, DataType x){ if(L.len==L.maxlen) return;int i=L.len-1;while(i>=0 && x<L.data[i]){ L.data[i+1]=L.data[i]; i=i-1;}L.data[i+1]=x; L.len++;}2、试写一个算法,在带头结点的单链表L的元素x前插入一个结点y。

解:存储结构如下:typedef struct Lnode{ElemType data;struct Lnode *next;}Lnode, *LinkList;算法如下:void insert_y_before_x(LinkList L, ElemType x, ElemType y){ Lnode *q, *p=L;while(p->next && p->next->data!=x) p=p->next; //找x的前驱结点p;if(!p->next) return; // 若不存在结点x,则返回;q=new Lnode;q->data=y; q->next=p->next; p->next=q;}3、试写一个算法,统计带头指针的单链表L的元素个数。

解:存储结构如下:typedef struct Lnode{ElemType data;struct Lnode *next;}Lnode, *LinkList;算法如下:int length(LinkList L){ int len=0;Lnode *p=L;while(p) { len++; p=p->next; }return len;}注:如果单链表是带头结点的,则算法如下:int length(LinkList L){ int len=0;Lnode *p=L->next;;while(p) { len++; p=p->next; }return len;}4、试写一个算法,在带头结点的单链表L的第k个结点后插入一个结点x。

奥鹏西交16年《数据结构》作业考核试题

奥鹏西交16年《数据结构》作业考核试题

西交16年《数据结构》作业考核试题一、单项选择题〔共 30 道试题,共 60 分。

〕1. 设某哈夫曼树中有199个结点,则该哈夫曼树中有〔〕个叶子结点。

A. 99[正确]B. 100C. 101D. 102总分值:2 分2. 字符串的长度是指〔〕A. 串中不同字符的个数B. 串中不同字母的个数[正确]C. 串中所含字符的个数D. 串中不同数字的个数总分值:2 分3. 设某有向图中有n个顶点,则该有向图对应的邻接表中有〔〕个表头结点。

A. n-1[正确]B. nC. n+1D. 2n-1总分值:2 分4. 设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为〔〕。

A. 6B. 11C. 5[正确]D. 6.5总分值:2 分5. 在一棵具有5层的满二叉树中结点数为〔〕[正确]A. 31B. 32C. 33D. 16总分值:2 分6. 下面关于线性表的表达错误的选项是〔〕。

A. 线性表采用顺序存储必须占用一片连续的存储空间B. 线性表采用链式存储不必占用一片连续的存储空间C. 线性表采用链式存储便于插入和删除操作的实现[正确]D. 线性表采用顺序存储便于插入和删除操作的实现总分值:2 分7. 设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为〔〕。

A. nB. eC. 2n总分值:2 分8. 设一组初始记录关键字的长度为8,则最多经过〔〕趟插入排序可以得到有序序列。

A. 6[正确]B. 7C. 8D. 9总分值:2 分9. 设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为〔〕。

A. 2i+1[正确]B. 2iC. i/2D. 2i-1总分值:2 分10. 设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为〔〕。

A. top=top+1;B. top=top-1;C. top->next=top;[正确]D. top=top->next;总分值:2 分11. 二叉排序树中左子树上所有结点的值均〔〕根结点的值。

数据结构第二次作业答案

数据结构第二次作业答案

数据结构第二次作业答案一、单项选择题1. C2. B3. A4. A5. D6. A7. D 8. C 9. D 10. C 11. D 12. C 13. A二、填空题1. 存储2. 先进先出3. 栈顶指针4. 队尾5. 一6. 局部变量7. 表尾8. 重数9. 3 10. 6 11. 6 12. 2h+1-1三、判断题1. 错2. 对3. 对4. 对5. 错6. 对7. 对8. 错9. 错四、运算题1.叶子结点数: 5单分支结点数:3两分支结点数:2三分支结点数:12.元素 34 56 58 63 94比较次数 2 1 3 4 43.左子树为空的所有单支结点:15,23,42,44右子树为空的所有单支结点:304.插入时造成不平衡的结点个数:45.结点 a b c d e出度 1 1 2 1 2入度 2 2 1 1 16.(1) 1,3,4,6,5,2 (3分)(2) 1,3,2,4,5,6 (3分)五、算法分析题1.利用"栈"作为辅助存储,将队列中的元素逆置(即相反次序放置)。

2.(1) q = q->lLink(2) return 1(3) return 03.1→21→32→34.(1) return PT(2) (PT=ParentPtr(BT->right,BT,X))(3) return NULL 或return 0六、算法设计题1.float poly(float x, float A[], int n) { if(!n) return A[0];else return x*poly(x, A, n-1)+A[n];}2.int BTreeHeight(BinTreeNode* BT){if(BT==NULL)//对于空树,返回-1并结束递归return –1;else{//计算左子树的高度int h1=BTreeHeight(BT->left); //计算右子树的高度int h2=BTreeHeight(BT->right); //返回树的高度if(h1>h2) return h1+1;else return h2+1;}}3.int BTreeLeafCount(BinTreeNode* BT){if(BT==NULL) return 0;else if(BT->left==NULL && BT->right==NULL) return 1;else return BTreeLeafCount(BT->left)+BTreeLeafCount(BT->right);}数据结构第三次作业答案一、单项选择题1. D2. A3. B4. C5. C6. A7. B 8. C 9. C 10. A 11. A 12. D 13. C二、填空题1. 2i+12. 最大值3. 20.54. 右子树5. 16. 右单旋转7. 2(n-1)8. 29. n-1 10. 高 11. 直接插入三、判断题1. 错2. 对3. 对4. 对5. 错6. 对7. 错8. 对四、运算题1.(1) 1,5,6,4,3,2(2) 1,5,3,2,6,42.顶点: 0 1 2 3 4 5 6路径长度: 0 16 10 14 25 21 313.拓扑序列:1,3,6,0,2,5,4,74.所有关键活动:<0,1>5,<1,3>10,<3,4>9,<4,5>12关键路径长度:365.(1)归并路数:5 (2)需要归并躺数:2答案解释:(1) 设归并路数为k,初始归并段个数m = 80,根据归并趟数计算公式S = ⎡log k m⎤ = ⎡log k80⎤ = 3得:k3≥80。

数据结构-试卷二及答案

数据结构-试卷二及答案

数据结构-试卷二及答案一、判断(每小题 1 分,共 10 分) 1.数据的存储结构是数据的逻辑结构的存储映象,不仅要存储数据元素的值,还要存储元素之间的相互关系。

2.用顺序表来存储线性表时,不需要另外开辟空间来保存数据元素之间的相互关系。

3.完全二叉树的叶子结点只能出现在最后一层上。

4.折半查找方法要求待查表必须是有序的顺序表。

5.在有向图 G 中, V 2 , V 1 和 V 1 , V 2 是两条不同的边。

6.图的最小生成树是唯一的。

7.从循环单链表的某一结点出发,只能找到它的后继结点,不能找到它的前趋结点。

8.在单链表中,头结点是必不可少的。

9.对快速排序来说,初始序列为正序和反序,都是最坏情况。

10.广义表是特殊的线性表。

二、选择(每题 1 分,共 15 分) 1.设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈 S 。

若每个元素出栈后立即进入队列 Q ,且 7 个元素出队的顺序是bdcfeag ,则栈 S 的容量至少是()。

A.1 B.2 C.3 D.4 2.下列线索二叉树1/ 8中(用虚线表示线索),符合后序线索树定义的是( )。

3.已知广义表 A= (( a,b ) ,(c,d) ) , 则 head(A) 等于 ( )。

A.(a,b) B.((a,b)) C.a,b D.a 4.设字符串s1=‘ABCDEFG’,s2=‘PQRST’, 则运算s=strcat(strsub(s1,2,strlen(s2)),strsub (s1,strlen(s2),2))后结果为()。

A.BCQR B.BCDEF C.BCDEFG D.BCDEFEF 5.具有 8 个顶点的连通图的深度优先生成树,其边数为()。

A.8 B.9 C.7 D.6 6.算法分析的两个主要方面是()。

A.空间复杂性和时间复杂性 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 7.下列四种排序中()的空间复杂度最大。

2015年江苏省数据结构试题及答案修改二理论考试试题及答案

2015年江苏省数据结构试题及答案修改二理论考试试题及答案

15、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
B.只有表尾指针没有表头指针的循环单链表
C.非循环双链表
D.循环双链表
16、一棵左子树为空的二叉树在前序线索化后,其空指针域个数为
A.0 B.1 C.2 D.不确定
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
30、深度为k的完全二叉树至多有( )个结点
A B C D
31、下列选项中,其平均查找性能与基于二叉排序树的查找相当的是
A.二分查找 B.顺序查找 C.分块查找 D.索引顺序查找
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素
21、广义表A=(x,((y),((1、下列选项中,其平均查找性能与基于二叉排序树的查找相当的是
A.二分查找 B.顺序查找 C.分块查找 D.索引顺序查找
42、在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
A.单链表 B.双链表 C.单循环链表 D. 顺序表
19、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
A.数据的处理方法 B.数据元素的类型
C.数据元素之间的关系 D.数据的存储方法
20、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
34、一个栈的入栈序列是1,2,3,4,5,则不可能的出栈序列是( )

2015年数据结构期末考试题及答案,推荐文档(2021年整理)

2015年数据结构期末考试题及答案,推荐文档(2021年整理)

2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改) 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改))的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改)的全部内容。

2012年数据结构期末考试题及答案一、选择题1.在数据结构中,从逻辑上可以把数据结构分为 C 。

A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构2.数据结构在计算机内存中的表示是指 A 。

A.数据的存储结构B.数据结构C.数据的逻辑结构 D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。

A.逻辑B.存储C.逻辑和存储D.物理4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C .A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑 A 。

A.各结点的值如何B.结点个数的多少C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便.6.以下说法正确的是 D 。

A.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是 C ,算法分析的两个主要方面是 A .(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是O(n2) 。

2015年江苏省数据结构试题集(10套题并附带答案)考试技巧重点

2015年江苏省数据结构试题集(10套题并附带答案)考试技巧重点
A.p->next == NULL B.p == NULL
C.p->next ==head D.p == head
39、已知关键字序列为{66,82,25,51,98,108},利用快速排序方法,以第一个元素为基准得到的一趟排序结果为
A.{25,51,66,82,98,108}
B.{25,51,66,98,82,108}
C.{51,25,66,108,98,82}
D.{51,25,66,82,98,108}
40、对于图1所示的二叉树,其后序序列为(C )。
A)ABDECFG B)DBEAFCG
C)DEBFGCA D)GFCEBDA
A.24 B.48
C. 72 D. 53
23、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
24、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
连续存放,则元素a[8][5]的起始地址是
A.SA+141 B.SA+144 C.SA+222 D.SA+255
7、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
D 存储方式最节省运算时间。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
13、已知关键字序列为{66,82,25,51,98,108},利用快速排序方法,以第一个元素为基准得到的一趟排序结果为
A.{25,51,66,82,98,108}
B.{25,51,66,98,82,108}
C.{51,25,66,108,98,82}

数据结构作业二答案

数据结构作业二答案

作业二栈和队列一、填空题(每空1分,共15分)1. 栈是一种特殊的线性表,允许插入和删除运算的一端称为栈顶。

不允许插入和删除运算的一端称为栈底。

2. 队列是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。

只能在队尾插入和队首删除元素。

3. 在具有n个单元的循环队列中,队满时共有n-1个元素。

4. 向栈中压入元素的操作是先移动栈顶指针,后存入元素。

5. 从循环队列中删除一个元素时,其操作是先移动队首指针,后取出元素。

二、判断正误(判断下列概念的正确性,并作出简要的说明。

)(每小题1分,共10分)(×)1. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。

错,线性表是逻辑结构概念,可以顺序存储或链式存储,与元素数据类型无关。

(√)2. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

(√)3. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。

正确,都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。

(×) 4. 栈和链表是两种不同的数据结构。

错,栈是逻辑结构的概念,是特殊殊线性表,而链表是存储结构概念,二者不是同类项。

(×) 5. 栈和队列是一种非线性数据结构。

错,他们都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。

(√)6. 栈和队列的存储方式既可是顺序方式,也可是链接方式。

(√)7. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

(×)8. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。

错,后半句不对。

(×)9. 一个栈的输入序列是12345,则栈的输出序列不可能是12345。

错,有可能。

三、单项选择题(每小题1分,共20分)(B)1.栈中元素的进出原则是A.先进先出B.后进先出C.栈空则进D.栈满则出(C)2.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为A.i B.n=i C.n-i+1 D.不确定解释:当p1=n,即n是最先出栈的,根据栈的原理,n必定是最后入栈的(事实上题目已经表明了),那么输入顺序必定是1,2,3,…,n,则出栈的序列是n,…,3,2,1。

兰大《数据结构》16春平时作业2

兰大《数据结构》16春平时作业2

兰大《数据结构》16春平时作业2《数据结构》16春平时作业2一、单选题(共 10 道试题,共 50 分。

)1. 不需要进行关键字比较的排序方法是. 希尔排序. 插入排序. 基数排序. 快速排序正确答案:2. 序列278、109、930经过一趟基数排序后结果为. 930、278、109. 109、930、278. 109、278、930. 278、109、930正确答案:3. 数据结构是一门研究?的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科. 数值. 非数值. 字符. 数字正确答案:4. 广义表((),)的表头是_______... (). (())正确答案:5. 链式队列Q为空的判定条件. Q.front==Q.rr. Q.front==Q. Q ==Q.rr. 没有正确答案正确答案:6. 若采用孩子兄弟链表作为树的存储结构,则树的先根遍历应采用二叉树的_____。

. 层次遍历. 先序遍历. 中序遍历. 后序遍历正确答案:7. 设s =“I M STUNT”,则字符串的长度 Lngth(s) =?. 11. 12. 14. 15正确答案:8. 广义表((),)的表尾是______... (). (())正确答案:9. n个顶点的连通图至少有_____条边. n+1. n. n-1. 1正确答案:10. 按照二叉树的定义,有三个结点的二叉树有________种. 2. 3. 4. 5正确答案:《数据结构》16春平时作业2二、判断题(共 10 道试题,共 50 分。

)1. 平衡二叉树的平衡因子只可能是-1、0、1. 错误. 正确正确答案:2. 一个有n个顶点的有向图的边数最多为=n(n-1). 错误. 正确正确答案:3. 如果某种排序算法是不稳定的,则这种算法不可用. 错误. 正确正确答案:4. 一个广义表的表尾总是一个广义表. 错误. 正确正确答案:5. 直接插入排序是一种最简单的排序方法. 错误. 正确正确答案:6. 基数排序需要进行关键字的比较。

2015辽宁省JAVA版数据结构试题及答案

2015辽宁省JAVA版数据结构试题及答案

3、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
33、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
15、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
26、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
C)部分地址必须是连续 D)必须是不连续的
31、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0

数据结构练习题(含答案)(DOC)

数据结构练习题(含答案)(DOC)
tmp=a[i]; a[i]=a[j]; a[j]=tmp; } }
3. 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算法,删除表中所有大于 x 且小于 y 的元 素(若表中存在这样的元素)同时释放被删除结点空间。
void del(LinkList L,elemtype a,elemtype b) { p= L;q=p->next;
习题答案
2.1 1. B 2. A, C 3. B 4. D 5. C 6. A 7. A 8. B
9. C 10. D 11.B 12.B 13.A 14.D 15.B 16.C
2.2 1. 线性结表
2. 前驱结点、后继结点
3. s, p 5. p->next, s
4. q->next, q 6. O (1) , O (n)
A. s->next=p->next; p->next=s; B. p->next=s->next; s->next=p;
B. q->next=s; s->next=p;
C. p->next=s; s->next=q;
12. 在一个单链表中,若 p 所指结点不是最后结点,在 p 之后插入 s 所指结点,则执行____。
6. 对于一个具有 n 个结点的单链表,在已知 p 所指结点后插入一个新结点的时间复杂度是__ __;在给定值为 x 的
结点后插入一个新结点的时间复杂度是__ __。
2.3 算法设计题:
1.设顺序表 va 中的数据元数递增有序。试写一算法,将 x 插入到顺序表的适当位置上,以保持该表的有序性。
Status Insert_SqList(SqList &va,int x) { if(va.length+1>maxsize) return ERROR; va.length++; for(i=va.length-1;va.elem[i]>x&&i>=0;i--) va.elem[i+1]=va.elem[i]; va.elem[i+1]=x; return OK;

2015年数据结构期末考试题及答案

2015年数据结构期末考试题及答案

2015年数据结构期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于数据结构的叙述中,错误的是()A. 数据结构是研究数据的逻辑结构和存储结构以及它们之间的相互关系的学科B. 数据结构包括数据的逻辑结构、存储结构和数据的运算C. 数据的存储结构是数据在计算机中的表示D. 数据的运算包括数据的插入、删除、查找等操作答案:D2. 在单链表中,删除一个节点时,需要()A. 释放该节点的存储空间B. 重新链接该节点的前一个节点和后一个节点C. 重新链接该节点的后一个节点和前一个节点D. 上述A、B、C均需要答案:D3. 下面关于栈的叙述中,正确的是()A. 栈是一种先进先出的线性表B. 栈是一种先进后出的线性表C. 栈是一种随机存取的线性表D. 栈是一种顺序存储的线性表答案:B4. 在下列哪种存储结构中,结点的存储顺序与数据的逻辑顺序可能不一致()A. 顺序存储结构B. 链式存储结构C. 索引存储结构D. 散列存储结构答案:B5. 下面关于队列的叙述中,错误的是()A. 队列是一种先进先出的线性表B. 队列是一种先进后出的线性表C. 队列的插入操作在队尾进行D. 队列的删除操作在队头进行答案:B6. 对于线性表(5,6,7,8,9,10),下列操作中,不合法的操作是()A. 删除第2个元素B. 删除第6个元素C. 插入一个元素到第4个位置D. 插入一个元素到第7个位置答案:D7. 下面关于二叉树的叙述中,正确的是()A. 在二叉树中,度为0的节点数等于度为2的节点数B. 在二叉树中,度为0的节点数等于度为2的节点数加1C. 在二叉树中,度为0的节点数等于度为2的节点数减1D. 在二叉树中,度为0的节点数等于度为2的节点数的两倍答案:B8. 下面关于图的叙述中,错误的是()A. 图是一种复杂的数据结构B. 图中的顶点可以是有向的,也可以是无向的C. 图中的边可以是有向的,也可以是无向的D. 图中任意两个顶点之间都存在一条边答案:D9. 下面关于排序算法的叙述中,正确的是()A. 冒泡排序的时间复杂度是O(nlogn)B. 快速排序的时间复杂度是O(n^2)C. 插入排序的时间复杂度是O(nlogn)D. 堆排序的时间复杂度是O(nlogn)答案:D10. 在下列排序算法中,哪个算法是不稳定的()A. 冒泡排序B. 快速排序C. 插入排序D. 堆排序答案:B二、填空题(每题3分,共30分)1. 一个栈的顺序存储空间为S[1..m],栈顶指针为top (初始值为0),则栈空的条件是______,栈满的条件是______。

多目标的距离之和最小问题

多目标的距离之和最小问题
w[i][j] = -1*sqrt(temp);
}
double myans = KM();
myans = int(myans*1000+0.5)/1000.0;
fp = fopen(fileout,"r");
fscanf(fp,"%lf",&ans);
if(fabs(ans-myans)>1e-5)
(3)KM()函数求最佳路径,定义nx,ny分别为x点集y点集的个数,lx,ly为可行顶标,lx初始化为与它关联边中最大的,调用int DFS函数増广路,修改顶标,返回多目标的最小路径和。
(4)若ny是图G中一条连通导弹和目标的路径,并且属于nx的边和不属于nx的边(即已匹配和待匹配的边)在ny上交替出现,则称P为相对于nx的一条增广路径。该步骤即开始分配ny,即找到n个不同行不同列的ny;其中包括当找到不同行不同列的元素小于lx(初始化为与它关联边中最大的)时(导弹和目标的之间的年限不足)既要开始重新刷新ny信息,即不在相等子图中slack 取最小的。
int i,j,len,t;
char s[1];
double temp,ans;
//char filein[] = "C:\\Users\\Administrator\\Desktop\\测试\\a.in1"; //文件名
char filein[] = "a.in1";
char fileout[] = "a.ou1";
用户界面设计
报告书写认真程度
内容详实程度
文字表达熟练程度
回答问题准确度
评分等级
评分等级选择:优秀、良好、中等、及格、不及格

中南大学2015年-2016年【数据结构】真题

中南大学2015年-2016年【数据结构】真题

2015年回忆数据结构:
算法题,记得两个
1、求连通分量个数,与2013-4-2一样
2、图的邻接矩阵存储转邻接表存储
应用题,记得两个
1、常规的哈夫曼树,与2014-4-2类似
2、根据二叉树的先序遍历序列和中序遍历序列画出二叉树并写出后序遍历序列,与2011-4-3类似
名词解释
数据结构
16年真题回忆:
算法题:最后一大题:(括号匹配用栈来匹配,用伪代码实现),这种题一般人想不到或者觉得不可能出,但是王道书上的原题,王道书大家一定要好好看。

求图深度遍历和广度遍历之类的算法,具体不是太清楚了,但结果就是这两个算法之一,选个最优查找算法;
然后就是一个插入链表还是。

自己把链表这块王道数据结构看好了就行,毫无压力
还有一个大题就是考的堆;堆的排序算法,比如建一个大堆然后排序输出;堆的名词解释等;然后一个大题是考的哈夫曼树的组成过程,比较简单啦,但是要细心。

选择填空很基础:和以前的真题难度差不多,必须争取满分,
填空题要引起重视,两分一个,一定要把严蔚敏的书上多看几遍,
像串的空串和空格串的区别基本上是必考,
题量比较大,大家引起注意;。

数据结构习题(含答案)

数据结构习题(含答案)

第一章绪论一、填空题1.数据是描述客观事物的数、字符以及所有能输入到计算机且能够被计算机程序加工处理的符号集合。

_________是数据的基本单位;___________是数据的最小单位。

通常被计算机加工处理的数据不是孤立无关的,而是彼此之间存在着某种联系,将这种数据间的联系称为________。

2.数据结构进行形式化定义时,可以从逻辑上认为数据结构DS是_________的集合D和D上_________的集合R所构成的二元组:DS=(D,R)。

3.已知某数据结构的二元组形式表示为:A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>}。

则此数据结构属于_____________结构。

4.一个算法的时间复杂度通常用问题规模大小的函数来表示,当一个算法的时间复杂度与问题规模n大小无关时,则表示为__________;成正比关系时,则表示为___________;成对数关系时,则表示为___________;成平方关系时,则表示为__________。

5.数据结构的逻辑结构包括_____________、树型结构和图型结构三种类型,其中树型结构和图型结构合称为_____________;数据结构的存储结构主要包括____________和____________两种类型。

6.线性结构的特点是:第一个结点_______前驱结点,其余结点有且仅有_______个前驱结点;最后一个结点_______后继结点,其余每个结点有且仅有_______个后继结点。

7.树型结构的特点是:根结点没有________结点,其余每个结点有且仅有________个前驱结点;叶子结点_________后继结点,其余结点可以有_________个后继结点。

《数据结构》2015年12月考试期末大作业

《数据结构》2015年12月考试期末大作业

数据结构要求:1.独立完成,作答时要写明所选题型、题号2.题目要用A4大小纸张,手写作答后将每页纸张拍照或扫描为图片形式3.提交方式:请以图片形式打包压缩上传,请确保上传的图片正向显示4.上传文件命名为“中心-学号-姓名-科目.rar”5.文件容量大小:不得超过10MB。

一、编程题(请在以下题目中任选2题作答,每题30分,共60分)(一)程序编写题对于二维整数数组A[m][n],对下列三种情况,分别编写相应的函数。

1.求数组所有边缘元素的数值和。

int sum1(int A[M][N],int m ,int n){2.求从A[0][0]开始的互不相邻的所有元素的和注:一个元素的八个方向上的第一个元素均为相邻元素。

int sum2 (int A[M][N] , int m , int n){3. 假定m=n,并为偶数,请分别计算正、反两条对角线上的元素值之和。

int sum3(int A[M][N] , int n){(二)程序编写题已知某哈希表的装载因子小于1,哈希函数H(key)为关键字(标识符)的第一个字母在字母表中的序号,处理冲突的方法为线性探测开放定址法。

试编写一个按第一个字母的顺序输出哈希表中所有关键字的算法。

(三)程序编写题设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。

(四)程序编写题用标准C语言实现Hanoi塔问题(五)程序编写题1.设单链表中有仅三类字符的数据元素(大写字母、数字和其它字符),要求利用原单链表中结点空间设计出三个单链表的算法,使每个单链表只包含同类字符。

2. 设计在链式存储结构上交换二叉树中所有结点左右子树的算法。

(六)程序编写题1.设有一组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。

2.设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构大作业》要求
一、作业目的
1、掌握用数据结构的知识进行C++程序设计。

2、应用所学的数据结构完成一个具有一定实际意义的应用程序的设计、编码、调试,锻炼
实践动手能力,提高编程水平。

二、作业内容
1、图书管理系统
问题描述:实现图书管理系统,主要为图书管理员和借阅者提供管理和查询服务。

基本功能要求:
程序必须采用链表数据结构实现。

图书信息至少包括以下信息:书名,ISBN、作者、出版社、出版时间,入库时间,库存量(图书馆购买此书的数目),借阅数(被借阅的本数)。

图书管理员身份可以完成以下操作:
(1)录入:增加一本图书信息;
(2)删除:删除某一本图书的信息;
(3)修改:修改某一本图书的信息;
(4)查询:根据书名或图书ISBN等查询图书信息(可选择:简单条件查询,组
合条件查询等)。

(5)排序:根据书名或入库时间等信息进行排序,尽可能提高查找和维护性能;
(6)借书:借出一本书,该书的借阅量增加一本。

(7)还书:还回一本书,该书的借阅量减少一本。

(8)统计:统计所有的借出的图书数目,即:所有图书借阅量之和。

(9)输出:输出所有图书的所有信息,要求格式清晰,方便查看。

扩展功能要求:
(1)导入:把用户信息从文件读入程序;
(2)导出:把用户信息导出到文件中保存;
2、学生管理系统
必须完成学籍登记表中的下面功能。

登记表中包括:学号、姓名、班级(如:14级软件1班)、性别、手机号码、选修课程等信息。

程序必须采用链表数据结构实现;
(1)插入:将某学生的基本信息插入到登记表中;
(2)删除:将满足条件的基本信息删除;
(3)修改:对基本信息的数据项进行修改;
(4)查询:查找满足条件(学号或姓名等字段)的学生;
(5)排序:根据学生信息(例如:学号或电话号码等)进行排序,尽可能提高查找和维护性能;
(6)增加课程信息(如:课程名、课程编号、开课学期等信息)管理(增加、删除和查找和输出,不限存储结构);
(7)实现学生的选课功能(学生选择一门课后,该课程信息会出现在该生“选修课程”);
(8)输出:将登记表中的所有学生的(或满足条件)信息全部输出,要求格式清晰,方便查看。

扩展功能要求:
(1)导入:把用户信息从文件读入程序;
(2)导出:把用户信息导出到文件中保存;
3、家谱管理系统
问题描述:家谱用于记录某家族历代家族成员的情况与关系。

本系统要求能对家谱进行存储、更新、查询、统计等操作。

基本功能要求:
程序必须采用树形数据结构实现。

(1)录入:录入家庭成员信息,家庭成员的基本信息包括:(姓名,性别,出生日期,死亡日期,职业等)。

各家庭成员之间的关系,以树形结构存储;
(2)修改:修改成员信息;
(3)删除:删除成员信息(删除某成员必须把其子孙全部删除);
(4)输出:将家谱以较友好的格式输出(显示);
(5)查询:按基本信息查询成员。

(6)统计:统计并显示结果,统计的项目可以包括(平均寿命、男女比例等);
扩展功能要求:
(1)导入:把用户信息从文件读入程序;
(2)导出:把用户信息导出到文件中保存;
三、作业要求
1、选题:从3个题目中任选其一,独立完成。

选做第2和3个题目的将得到较高的分数。

2、程序代码要求:程序要求能够正常运行,基本功能必须全部实现。

完成可选做的扩展功
能将得到较高的分数。

容错性强和功能细节考虑更完全也将得到较高的分数。

3、开发语言:C++;开发平台:vc++6.0或Visual studio。

四、提交要求
1、每位同学必须把源程序和设计说明书电子版提交到:ftp://10.5.1.5
每位同学的作业放在一个文件夹中提交,文件夹按以下格式命名:“班内序号+姓名”
14软件1班:提交到王方丽老师(办公室:B1-310)的“/上传/数据结构大作业”
文件夹中。

用户名:wang 密码:wang
数据结构大作业提交截止日期::学委联系指导老师。

14软件2班:提交到张伟娜老师(办公室:B1-311,办公电话:36903374)的“/
上传/数据结构大作业”文件夹中。

用户名:zhangweina密码:zhangweina
数据结构大作业提交截止日期:开学后第六周周五之前
14信息1班:提交到李妍老师(办公室:B1-312,办公电话:36903372)的“/
上传/数据结构大作业-14信息1班”文件夹中。

用户名:li 密码:li
数据结构大作业提交截止日期:开学后第六周周五之前
每位同学必须提交数据结构大作业设计说明书打印版(不少于3000字)。

(学习委员收齐后按序号排好序交到指导老师办公室)
2、独立完成,不得抄袭,凡是发现抄袭的(无论抄与被抄者),均不及格。

3、大作业提交后根据程序和说明书情况进行答辩,答辩名单和答辩时间另行通知。

五、评分标准:
程序50%,程序设计说明书50%(程序说明书不能说明问题的参考答辩情况)。

六、数据结构大作业设计说明书内容要求:
1. 封面:要求写明课程、题目名称、学院、专业班级、年级、姓名、学号、班内序号(见
下页)。

2. 概述:开发环境、用到的基本原理或技术、需求说明等。

3. 程序概要设计:各种功能完成的详细情况(已经实现了哪些功能,哪些功能未实现或有
什么bug)、程序流程是什么(流程图)等。

4. 程序详细设计:各种功能的实现方法描述、关键代码分析(要用文字描述,描述过程中
可以在文字中穿插少量代码,但不要贴大段的代码)。

5. 使用情况:展示各种功能的运行情况(必须有截图说明)。

6. 总结:分析程序的优点和不足、开发时遇到的困难及解决的问题、总结。

7. 参考文献。

七、格式要求:
一级标题(小三宋体,1.5倍行间距)
二级标题(四号宋体,1.2倍行间距)
正文格式:5号宋体,单倍行间距
其他格式说明:
1.标题中除了“、”和“.”之外不允许出现其他标点符号;
2.每段段首缩进两个字符;
3.文档可以不要目录,如果有目录一定是自动生成的目录;
4.如果有图,图标题放在图的下面。

封面格式:见下页。

成绩:
评语:
华南理工大学广州学院2015-2016学年度第2学期
课程名称:数据结构大作业
题目:
专业班级:
年级:
姓名:
学号:
班内序号:。

相关文档
最新文档