广东工业大学数据结构考研真题试题2020、2019年
(完整word版)广东工业大学数据结构试卷
int
adjvex; // 该弧所指向的顶点的位置
ArcNode *nextarc; // 指向下一条弧的指针
} ArcNode;
// 定义弧的结点
typedef struct {
VertexType data;
// 顶点信息
ArcNode *firstarc; // 指向第一条依附该顶点的弧
} VNode, AdjList[MAX_VERTEX_NUM]; // 定义顶点数组
7.动态查找表和静态查找表的重要区别在于前者包含有___________和___________运 算,而后者不包含这两种运算。
8 . 简 单 选 择 排 序 的 平 均 时 间 复 杂 度 是 ___________ , 堆 排 序 的 平 均 时 间 复 杂 度 是 ___________。
三.解答题(共 40 分)
void f4(ALGraph G, int v) { AcrNode *p; visited[v]=1; visit(v); p=① while (p) { v = p—>adjvex; if (!visited[v]) ② p=③
} }
(完整 word 版)广东工业大学数据结构试卷
; ;
;
五.算法设计题(8 分)
)。
[A] 43
[B] 16
[C] 17
[D]42
3.广义表 A=(a,b,(c,d)),执行 Head(Head(Tai(l Tail(A))))的结果是(
)。
[A] (c)
[B] (d)
[C] c
[D] d
4.下列有关二叉树的正确陈述是(
).
[A] 二叉树中任何一个结点的度都为 2 [B] 一棵二叉树的度可以
(完整word版)数据结构试题集(包含答案完整版)
第一章概论一、选择题1、研究数据结构就是研究(D )。
A. 数据的逻辑结构B。
数据的存储结构C. 数据的逻辑结构和存储结构D。
数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A。
空间复杂度和时间复杂度 B. 正确性和简单性C。
可读性和文档性D。
数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A。
图B。
树C。
广义表D。
栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B。
可执行性、有穷性和确定性C。
确定性、有穷性和稳定性 D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
for(i=0;i<m;i++)for(j=0;j〈n;j++)a[i][j]=i*j;A. O(m2) B。
O(n2) C。
O(m*n) D. O(m+n)6、算法是(D )。
A。
计算机程序 B. 解决问题的计算方法C。
排序算法 D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A。
O(n) B. O(nlog2n) C。
O(n2) D. O (log2n)8、下面程序段的时间复杂度为( C ).i=1;while(i<=n)i=i*3;A. O(n)B。
O(3n) C。
O(log3n) D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。
A. 结构B。
关系C。
运算D。
算法10、下面程序段的时间复杂度是(A )。
i=s=0;while(s<n){i++;s+=i;}A. O(n) B。
O(n2)C。
O(log2n)D。
O(n3)11、抽象数据类型的三个组成部分分别为(A)。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。
广工数据结构参考答案全(anyview)
广工数据结构anyview 80道上机题1.void Descend(int &x, int &y, int &z)/* 按从大到小顺序返回x,y和z的值*/ {int t;if(x<z){t=z;z=x;x=t;}if(y<z){t=y;y=z;z=t;}if(y>x){t=x;x=y;y=t;}}2.Status Fibonacci(int k, int m, int &f)/* 求k阶斐波那契序列的第m项的值f */ {int *a;int i=1;if(k<2||m<0) return ERROR;if(m<k){if(m==k-1) f=1;else f=0;return OK;}a=(int*)malloc((m+1)*sizeof(int));for(i=0;i<k-1;i++) a[i]=0;i=k+1;a[k-1]=1;a[k]=1;while(i<=m){a[i]=2*a[i-1]-a[i-k-1];i++;}f=a[m];return OK;}3.void Scores(ResultType *result, ScoreType *score)/* 求各校的男、女总分和团体总分, 并依次存入数组score *//* 假设比赛结果已经储存在result[ ]数组中, *//* 并以特殊记录{"", male, ' ', "", 0 }(域scorce=0)*//* 表示结束*/{int i;for(i=0;result[i].score!=0;i++){score[result[i].schoolname-'A'].totalscore+=result[i].score;if(result[i].gender==male)score[result[i].schoolname-'A'].malescore+=result[i].score;elsescore[result[i].schoolname-'A'].femalescore+=result[i].score;}}4Status Series(int ARRSIZE, int a[])/* 求i!*2^i序列的值并依次存入长度为ARRSIZE的数组a;*//* 若所有值均不超过MAXINT,则返回OK,否则返回OVERFLOW */{int i=1,b=1,na=1;while(i<=ARRSIZE){na*=i;b*=2;if(na*b>MAXINT) return OVERFLOW;a[i-1]=na*b;i++;if(i>ARRSIZE+1) return OVERFLOW;}return OK;}5float Polynomial(int n, int a[], float x)/* 求一元多项式的值P(x)。
广东工业大学数据结构Aniview系统第三章参考答案
广东工业大学数据结构Aniview第三章参考答案◆3.17③试写一个算法,识别依次读入的一个以@为结束符的字符序列是否为形如'序列1&序列2'模式的字符序列。
其中序列1和序列2中都不含字符'&',且序列2是序列1的逆序列。
例如,'a+b&b+a'是属该模式的字符序列,而'1+3&3-1'则不是。
实现下列函数:Status match(char *str);/* 若str是属该模式的字符序列,*//* 则返回TRUE,否则返回FALSE */Stack是一个已实现的栈。
可使用的相关类型和函数:typedef char SElemType; // 栈Stack的元素类型Status InitStack(Stack &s);Status Push(Stack &s, SElemType e);Status Pop(Stack &s, SElemType&e);Status StackEmpty(Stack s);Status GetTop(Stack s, SElemType&e);Status match(char *str)/* 若str是属该模式的字符序列,*//* 则返回TRUE,否则返回FALSE */{ Stack S;inti;SElemType e;InitStack(S);for(i=0;str[i]!='&';i++){ Push(S,str[i]); }for(i=i+1;!StackEmpty(S)&&str[i]!='@';i++){Pop(S,e);if(e!=str[i]){ return FALSE;}}if(StackEmpty(S)&&str[i]=='@'){ return TRUE;}}3.18②试写一个判别表达式中开、闭括号是否配对出现的算法。
数据结构(信管专业最新期末试题)
2, 分)以下函数实现二分法查找. (12 int binarysearch(Elem r[],int n,int k) { int low,high,mid; low=1;high=n; while(__________)(2 分) { mid=(low+high)/2; if ( k==r[mid].key) return(________ ); (2 分) else if(k<r[mid].key) high=_________;(2 分) else low=________;(2 分) } return(-1); } (1) 分)该函数查找成功和查找不成功分别返回什么? (2 (2) 分)二分法查找特别适合于什么特点的线形表? (2 3, 分)以下是 floyd 筛选法调整堆的程序段,阅读程序完成填空: (10 int sift(JD r[],int t,int w)/*JD 为待排序记录结构,含排序码 key*/ { int i,j; JD x; i=t; x=r[i]; j=2*i; while(________) (2 分) { if(( j<w )&&(r[j].key>r[j+1].key)) j++; ▲ if(x.key>r[j].key) {r[i]=r[j];i=j;________( 2 分)} else break; }
15,下列几种排序方法中要求辅助存储空间最大的是( A,堆排序 B,直接选择排序 C,归并排序
二,算法测试(共 34 分) 先按要求填空完成程序,再回答有关问题. 1, 12 分)在头指针为 h 的带表头结点的单链表中,把结点 b 插入到结点 a 之前, ( 若不存在结点 a 就把结点 b 插入到表尾. 单链表结点结构为: typedef struct node{int data; struct node *link;}LNode; void insertb(LNode *h,int a,int b) { LNode *p,*q,*s; s=_________________________(2 分) s->data=b; p=h->link;q=h; while(p->data!=a&&p->link!=NULL) {q=p;p=_________;(2 分)} if(p->data==a) { q->link=s; ____________;(2 分)} else { __________;(2 分) s->link=NULL;} } (1) 分)什么是表头结点? (2 (2) 分)分析该算法的时间复杂度为多少? (2
广东工业大学数据库原理与设计试卷部分答案
一、问答题(共16分)1、(2分)简述视图和基本表之间的联系和区别。
.答:视图是从一个或者几个基本表导出的表.它本身不独立存储在数据库中,视图的数据只是存放在导出视图的基本表中,因此试图只是一个虚表.视图在概念上与基本表相同.2、(4分)举例说明关系的参照完整性的含义。
答:比如,关系SC中一个元组表示一个学生选修的某门课程的成绩,(Sno,Cno)是主码.Sno,Cno分别参照引用Student表的主码和Course表的主码.CREATE TABLE SC(Sno CHAR(9) NOT NULL,Cno CHAR(4) NOT NULL,Grade SMALLINT,PRIMARY KEY(Sno,Cno),/*在表级定义实体完整性*/FOREIGN KEY (Sno) REFERENCES Student(Sno), /*在表级定义参照完整性*/FOREIGN KEY (Cno) REFERENCES Course(Cno) /*在表级定义参照完整性*/);4、(4分)解释下列术语,说明它们之间的联系和区别:关系、关系模式、关系数据库、关系数据库模式。
5、(3分)什么是数据库的安全性?什么是数据库的完整性?二者有什么区别和联系?6.简单表达一下数据库系统的三级模式答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成.外模式也称子模式或者用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
(数据库可以有多个外模式)。
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图.(一个数据库只有一个模式)。
内模式也称存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
7.规范化的思想答:规范化的基本思想是逐步消除数依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,即“一事一地”的模式设计原则。
广工数据结构参考答案全(anyview)分析
广工数据结构anyview 80道上机题1.void Descend(int &x, int &y, int &z)/* 按从大到小顺序返回x,y和z的值*/ {int t;if(x<z){t=z;z=x;x=t;}if(y<z){t=y;y=z;z=t;}if(y>x){t=x;x=y;y=t;}}2.Status Fibonacci(int k, int m, int &f)/* 求k阶斐波那契序列的第m项的值f */ {int *a;int i=1;if(k<2||m<0) return ERROR;if(m<k){if(m==k-1) f=1;else f=0;return OK;}a=(int*)malloc((m+1)*sizeof(int));for(i=0;i<k-1;i++) a[i]=0;i=k+1;a[k-1]=1;a[k]=1;while(i<=m){a[i]=2*a[i-1]-a[i-k-1];i++;}f=a[m];return OK;}3.void Scores(ResultType *result, ScoreType *score)/* 求各校的男、女总分和团体总分, 并依次存入数组score *//* 假设比赛结果已经储存在result[ ]数组中, *//* 并以特殊记录{"", male, ' ', "", 0 }(域scorce=0)*//* 表示结束*/{int i;for(i=0;result[i].score!=0;i++){score[result[i].schoolname-'A'].totalscore+=result[i].score;if(result[i].gender==male)score[result[i].schoolname-'A'].malescore+=result[i].score;elsescore[result[i].schoolname-'A'].femalescore+=result[i].score;}}4Status Series(int ARRSIZE, int a[])/* 求i!*2^i序列的值并依次存入长度为ARRSIZE的数组a;*//* 若所有值均不超过MAXINT,则返回OK,否则返回OVERFLOW */{int i=1,b=1,na=1;while(i<=ARRSIZE){na*=i;b*=2;if(na*b>MAXINT) return OVERFLOW;a[i-1]=na*b;i++;if(i>ARRSIZE+1) return OVERFLOW;}return OK;}5float Polynomial(int n, int a[], float x)/* 求一元多项式的值P(x)。
数据结构考试试题库含答案解析
数据结构习题集含答案目录目录 (1)选择题 (2)第一章绪论. (2)第二章线性表. (4)第三章栈和队列. (6)第四章串. (7)第五章数组和广义表 (8)第六章树和二叉树 (8)第七章图. (11)第八章查找. (13)第九章排序. (14)简答题 (19)第一章绪论. (19)第二章线性表. (24)第三章栈和队列. (26)第四章串. (28)第五章数组和广义表 (29)第六章树和二叉树 (31)第七章图. (36)第八章查找. (38)第九章排序. (39)编程题 (41)第一章绪论. (41)第二章线性表. (41)第三章栈和队列. (52)第四章串. (52)第五章数组和广义表 (52)第六章树和二叉树 (52)第七章图. (52)第八章查找. (52)第九章排序. (57)选择题第一章绪论1. 数据结构这门学科是针对什么问题而产生的?( A )A、针对非数值计算的程序设计问题 B 、针对数值计算的程序设计问题C、数值计算与非数值计算的问题都针对D、两者都不针对2. 数据结构这门学科的研究内容下面选项最准确的是( D )A、研究数据对象和数据之间的关系 B 、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3. 某班级的学生成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那么下面关于数据对象、数据元素、数据项描述正确的是( C )A、某班级的学生成绩表是数据元素,90 分是数据项B、某班级的学生成绩表是数据对象,90 分是数据元素C、某班级的学生成绩表是数据对象,90 分是数据项D、某班级的学生成绩表是数据元素,90 分是数据元素4. *数据结构是指(A )。
A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C )。
A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6. 算法分析的目的是( C )A、找出数据的合理性B、研究算法中的输入和输出关系C、分析算法效率以求改进D、分析算法的易懂性和文档型性7. 算法分析的主要方法( A )。