文档库 最新最全的文档下载
当前位置:文档库 › 电大数据结构(本)期末复习材料

电大数据结构(本)期末复习材料

电大数据结构(本)期末复习材料
电大数据结构(本)期末复习材料

1.数据元素是数据的基本单位,它( C )。C.可以是一个数据项也可以由若干个数据项组成

2.一种逻辑结构( A )存储结构。A.可以有不同的

3.线性表的顺序结构中,( C )。C.逻辑上相邻的元素在物理位置上也相邻

4.以下说法中不正确的是( B )。B.已知单向链表中任一结点的指针就能访问到链表中每个结点

5.以下表中可以随机访问的是( D )。D.顺序表

6.双向循环链表结点的数据类型为:设p指向表中某一结点,要显示p所指结点的直接前驱结点的数据元素,可用操作( B )。B.printf(“%d”,p->prior->data);

7 .设顺序存储的线性表长度为n,对于删除操作,设删除位置是等概率的,则删除一个元素平均移动元素的次数为

( A )。A.(n+1)/2

8.一个栈的进栈序列是efgh,则栈的不可能的出栈序列是( D )(进出栈操作可以交替进行)。D.ehfg

9.设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为( A )。A.x=top->data;top=top->next;

10.设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为( C )。C.x=top->data;

11.以下说法正确的是(C )。C.栈的删除和插入操作都只能在栈顶进行

13.串函数StrCmp(“abA”,”aba”)的值为( D )。.-1

15.设有一个12阶的对称矩阵A,采用压缩存储方式将其下三角部分以行序为主序存储到一维数组b中(矩阵A的第一个元素为a1,1,数组b的下标从1开始),则矩阵A中第4行的组b中的下标i一定有( A )。A、7≤i≤10 17.已知一个图的边数为m,则该图的所有顶点的度数之和为( A )。A.2m

18.已知一个图的所有顶点的度数之和为m,则该图的边数为(D )。D.m/2

19.以下说法不正确的是( D )。D.连通图G的生成树可以是不连通的

20.以下说法不正确的是( A )。A.连通图G的生成树一定是唯一的

21.散列查找的原理是( A )。A.在待查记录的关键字值与该记录的存储位置之间建立确定的对应关系

23.排序过程中,每一趟从无序子表中将一个待排序的记录按其关键字的大小放置到已经排好序的子序列的适当位置,直到全部排好序为止,该排序算法是( A )。A.直接插入排序

24.在排序过程中,可以通过某一趟排序的相关操作所提供的信息,判断序列是否已经排好序,从而可以提前结束排序过程的排序算法是( A )。A.冒泡

25.采用顺序查找法对长度为n的线性表进行查找(不采用表尾设监视哨的方法),最坏的情况下要进行( B )次元素间的比较。B.n C.n-1 D.n/2

26.用折半查找法,对长度为12的有序的线性表进行查找,最坏情况下要进行(A )次元素间的比较A.4 31.针对线性表,在存储后如果最操作是取第i个结点及其前驱,则采用( D )存储方式最节省时间。D.顺序表32.线性表采用链式存储时,其地址( C )。C.可以连续也可以不连续

33.数据结构中,与所使用的计算机无关的是数据的( D )结构。D.逻辑

35.以下特征中,( D )不是算法的特性。D.有0个或多个输出

36.设顺序存储的线性表长度为n,对于插入操作,设插入位置是等概率的,则插入一个元素平均移动元素的次数为( A )。A.n/2

37.设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),则移动元素个数为( A )。A.n-i+1

38.一个栈的进栈序列是5,6,7,8,则栈的不可能的出栈序列是(A )(进出栈操作可以交替进行)A.5,8,6,7 39.栈的插入删除操作在( D )进行。D.栈顶

40.栈和队列的相同点是( D )。D.逻辑结构与线性表相同,都是操作规则受到限制的线性表

47.串函数StrCmp(“d”,“D”)的值为( B )。 B.1

48.以下说法正确的是( D )。D.连通图G一定存在生成树

49.在一棵二叉树中,若编号为i的结点存在右孩子,则右孩子的顺序编号为( D )。D.2i+1

50.对二叉排序树进行( C )遍历,遍历所得到的序列是有序序列。C.中序

51.设一棵有n个结点采用链式存储的二叉树,则该树共有( D )个指针域为空。D.n+1

1.通常数据的逻辑结构包括集合、__线性__、_ 树形__、图状__四种类型。

2.通常可以把一本含有不同章节的书的目录结构抽象成___树形_结构。

3.设有一个单向链表,结点的指针域为next,头指针为head,p指向尾结点,为了使该单向链表改为单向循环链表,可用语句___ p->next=head;___ __。

4.要在一个单向链表中p所指向的结点之后插入一个s所指向的新结点,若链表中结点的指针域为next,可执行_ s->next= p->next;___和p->next=s;的操作。

5.设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作__ p->next=head;。

6.设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,则可执行x=hs->data; ___ hs=hs->next; __。

7.在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,则插入一个s所指结点的操作为__ r->next=s _;r=s;

8.在一个不带头结点的非空链队中,f和r分别为队头和队尾指针,队结点的数据域为data,指针域为next,若要进行出队操作,并用变量x存放出队元素的数据值,则相关操作为x=f->data; f=f->next; 。

9.循环队列的队头指针为f,队尾指针为r,当_ r= =f _时表明队列为空。

10.循环队列的最大存储空间为MaxSize=8,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,则当队尾指针rear= _4 _时,队列为空,当rear= __2 ___时,队列有6个元素。

11.稀疏矩阵存储时,采用一个由__行号__ 、___列号_ 、__非零元__3部分信息组成的三元组唯一确定矩阵中的一个非零元素。

12.一棵二叉树没有单分支结点,有6个叶结点,则该树总共有__11___个结点。

13.一棵二叉树顺序编号为6的结点(树中各结点的编号与等深度的完全二叉树中对应位置上结点的编号相同),若它存在右孩子,则右孩子的编号为____13____。

14.按照二叉树的递归定义,对二叉树遍历的常用算法有__先序_ 、__中序_、__后序__三种。

15.结构中的数据元素存在多对多的关系称为___图状___结构。

16.把数据存储到计算机中,并具体体现数据之间的逻辑结构称为__物理(存储)_结构。

17.结构中的数据元素存在一对多的关系称为___树形_____结构。

20.二叉树为二叉排序的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。这种说法是_____错误_____的。(回答正确或不正确)

21.在队列的顺序存储结构中,当插入一个新的队列元素时,尾指针的值增1,当删除一个元素队列时,头指针的值增1。

22.根据搜索方法的不同,图的遍历有__深度优先、_ 广度优先___ 两种方法。

23.循环队列的引入,目的是为了克服假上溢。

24.通常可以把某城市中各公交站点间的线路图抽象成_____图状_ __结构。

25.结构中的元素之间存在多对多的关系称为___图状__ _结构。

26.要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行____ q->next= p->next;__。

27.设有一个单向循环链表,结点的指针域为next,头指针为head,指针p指向表中某结点,若逻辑表达式___ p->next= =head;_____的结果为真,则p所指结点为尾结点。

28.设有一个链栈,栈顶指针为hs,现有一个s所指向的结点要入栈,则可执行操作_ s->next=hs; 和hs=s;

29.顺序存储字符串“ABCD”需要占用___5__个字节。

30.循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效地判断栈空或栈满,若队头指针front=4,当队尾指针rear= ____3_ ___时队满,队列中共有____5____个元素。

31.一棵二叉树叶结点(终端结点)数为5,单分支结点数为2,该树共有__11____个结点

32.设一棵完全二叉树,其最高层上最右边的叶结点的编号为奇数,该叶节点的双亲结点的编号为10,该完全二叉树一共有_____21___个结点。

33.一棵二叉树中顺序编号为5的结点(树中各结点的编号与等深度的完全二叉中对应位置上结点的编号相同),若它存在

左孩子,则左孩子的编号为____10 ____。

34.结构中的数据元素存在一对一的关系称为__线性______结构。

35.一棵有n个叶结点的二叉树,其每一个非叶结点的度数都为2,则该树共有___2n-1____个结点。

36.图的深度优先搜索和广度优先搜索序列不一定是唯一的。此断言是__正确____的。(回答正确或不正确)

37.串的两种最基本的存储方式分别是_ 顺序存储______和___链式存储___ __。

38.按某关键字对记录序列排序,若关键字关键字相等的记录的记录在排序前和排序后仍保持它们的前后关系,则排序算法是稳定的,否则是不稳定的。

39.设有一个不带头结点的单向循环链表,结点的指针域为next,指针p指向尾结点,现要使p指向第一个结点,可用语句_______ p=p->next; _。

40.要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,,则可执行head=head-> next; _____ p->next=head;_ __。

41.在双向链表中,每个结点有两个指针域,一个指向_结点的直接后继,另一个指向__结点的直接前驱。

42.设有一个头指针为head的单向链表,p指向表中某一个结点,且有p->next= =NULL,通过操作___ p->next=head;__,就可使该单向链表构造成单向循环链表。

43.循环队列的最大存储空间为MaxSize,队头指针为f,队尾指针为r,当_(r+1)%MaxSize=f _时表明队列已满。44.从一个栈顶指针为h的链栈中删除一个结点时,用x保存被删结点的值,可执行x=h->data;和___h=h->next; 。(结点的指针域为next)

45.程序段int count=0; char *s=” ABCD”;

while(*s!=’\0’){s++;count++;}

执行后count= __ 4 _。

46.两个串相等的充分必要条件是_串长度相等且对应位置的字符相等。

47.一棵二叉树总结点数为11,叶结点数为5,该树有__4__个双分支结点,__2__个单分支结点。

48.对二叉树的遍历可分为__先序、中序、后序、层次四种不同的遍历次序。

49.设一棵完全二叉树,其最高层上最右边的叶结点的编号为偶数,该叶节点的双亲结点的编号为9,该完全二叉树一共有____18____个结点。

50.双向循环链表中,p指向表中某结点,则通过p可以访问到p所指结点的直接后继结点和直接前驱结点,这种说法是__正确______的(回答正确或不正确)。

51.栈和队列的操作特点分别是__先进后出(后进先出)_和__先进先出(后进后出)___。

52.一棵有14个结点的完全二叉树,则它的最高层上有____7___个结点。

54.折半查找只适用于顺序存储结构存储的有序表。

55.哈希函数是记录关键字值与该记录___存储地址___之间所构造的对应关系。

56.深度为k的二叉树最多有2k-1 结点。

57.二叉树排序中任一棵子树都是二叉排序树,这种说法是__正确_____的。(回答正确或不正确)

58.串的两种最基本的存储方式是___顺序存储_和链式存储__

59.结构中的元素之间存在多对多的关系称为_____图状_ __结构。

60.设有一个链栈,栈顶指针为hs,现有一个s所指向的结点要入栈,则可执行操作s-> next=hs; _ hs=s;。

61.循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效地判断栈空或栈满,若队头指针front=4,当队尾指针rear= __3__时队满,队列中共有___5__个元素。

62.‘A‘在存储时占__1_个字节。“A”在存储时占__2__个字节。

63.程序段char *s=”aBcD”;n=0;

while(*s!=’\0’)

{ if(*s>=’a’&&*s<=’z’)n++;

s++;

}执行后n= ___2_ __

1.以下函数在a[0]到a[n-1]中,用折半查找算法查找关键字等于k的记录,查找成功返回该记录的下标,失败时返回-1,完成程序中的空格typedef struct{ int key;……}NODE;int Binary_Search(NODE a[],int n, int k) {

int low,mid,high; low=0; high=n-1; while(___low<=high_____)

{ mid=(low+high)/2; if(a[mid].key==k) return __ mid)______;

else if(___a[mid].key

} ___ return -1____; }

2.以下函数为直接选择排序算法,对a[1],a[2],…a[n]中的记录进行直接选择排序,完成程序中的空格

typedef struct{ int key; ……}NODE; void selsort(NODE a[],int n){ int i,j,k; NODE temp;

for(i=1;i<= __ n-1__;i++) { k=i; for(j=i+1;j<= ___ n _____;j++)

if(a[j].key

___ a[i]=a[k]___; ____ a[k]=temp____; } }}

3.以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别是链队列的队头、队尾指针struct node{ ElemType data;struct node *next;};struct node *front,*rear; void InQueue(ElemType x)

{ struct node *p; p= (struct node*) ___ malloc(sizeof (struct node))____;

p->data=x; p->next=NULL; ___ rear->next=p _____; rear= __ p 4.以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,

数据域data为字符型,BT指向根结点)。void Inorder (struct BTreeNode *BT)

{ if(BT!=NULL){ Inorder(BT->left);printf(“%c”,BT->data); Inorder(BT->right); }

5.以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为栈顶指针struct node{ ElemType data;

struct node *next;};struct node *top ;void Push(ElemType x) { struct node *p;

p=(struct node*)malloc(___sizeof (struct node)____); p->data=x; ___ p->next=top _____;

_____ top=p __; }

6.设线性表为(6,10,16,4),以下程序用说明结构变量的方法建立单向链表,并输出链表中各结点中的数据。

#define NULL 0 void main( ) {NODE a,b,c,d,*head,*p;a.data=6;b.data=10;c.data=16;d.data=4; /*d是尾结点*/

head= &a;a.next=&b;b.next=&c;c.next=&d; d next=NULL; /*以上结束建表过程*/p=head; /*p为工作指针,准

备输出链表*/

do {printf(“%d\n”, p->data); p=p->next; }while( p!=NULL);}

7.以下函数在head为头指针的具有头结点的单向链表中删除第i个结点,

struct node{ int data;struct node *next;};typedef struct node NODE int delete(NODE *head,int

i ){NODE *p,*q; int j; q=head;j=0; while((q!=NULL)&&( ___ jnext _____;j++;} if(q==NULL)

return(0); p= __ q->next ____; ___ q->next __=p->next; free(__p _); return(1);

8.以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,

数据域data为字符型,BT指向根结点)。

void Inorder (struct BTreeNode *BT)

{ if(BT!=NULL){ Inorder(BT->left); printf(“%c”,BT->data) ; Inorder(BT->right); }

电大考试数据结构(本)试题集附答案

数据结构(本)期末综合练习 2017年5月 有得看就不难 综合练习一 一、单项选择题 1.设有头指针为head的带有头结点的非空单向循环链表, 指针p指向其尾结点, 要删除头结点,并使其仍为单向循环链表,则可利用下述语句head =head->next ;()。 A.p =head; B.p=NULL; C.p->next =head; D.head=p; 2.在一个单链表中p指向结点a, q指向结点a的直接后继结点b,要删除结点b,可执 行()。 A.p->next=q->next ; B.p=q->next; C.p->next=q; D.p->next=q; 3. 以下说法不正确的是 A. 线性表的链式存储结构不必占用连续的存储空间 B.一种逻辑结构只能有唯一的存储结构 C. 一种逻辑结构可以有不同的存储结构 D.线性表的顺序存储结构必须占用连续的存储空间 4.在一个单向链表中,在p所指结点之后插入一个s所指的结点时,可执行();和 p->next=s; A.p= s; B. p->next=s->next; C.p=s->next; D. s->next=p->next; 5.把数据存储到计算机中,并具体体现( )称为物理结构。 A. 数据元素间的逻辑关系 B.数据的处理方法 C.数据的性质 D.数据的运算 6.设有一个长度为23的顺序表,要删除第8个元素需移动元素的个数为()。 A.16 B.14 C.15 D.13 7.链表所具备的特点之一是()。 A.可以随机访问任一结点 B.需要占用连续的存储空间 C.插入元素的操作不需要移动元素 D.删除元素的操作需要移动元素 8.设一棵有8个叶结点的二叉树,度数为1的结点有3个,则该树共有()个结点。 A.20 B.18 C.17 D.16 9.图状结构中数据元素的位置之间存在()的关系。 A.一对一 B.多对多 C.一对多 D.每一个元素都有一个直接前驱和一个直接后继10.一棵具有5层的完全二叉树,最后一层有4个结点,则该树总共有()个结点。 A.14 B.15 C.19 D.18 11.元素15,9,11,13按顺序依次进栈,则该栈的不可能输出序列是() (进栈出栈可以交替进行)。 A.13,11,9,15 B.15,9,11,13 C.13,11,15,9 D.9, 15,13,11 1

国家开放大学,数据结构(本),形考作业2

国家开放大学,数据结构(本),形考作业2 1 . 若让元素1,2,3依次进栈,则出栈顺序不可能为( A )。 选择一项: A. 3,1,2 B. 2,1,3 C. 1,3,2 D. 3,2,1 2.一个队列的入队序列是1,2,3,4。则队列的输出序列是()。 选择一项: A. 3,2,4,1 B. 1,4,3,2 C. 1,2,3,4 D. 4,3,2,1 3.向顺序栈中压入新元素时,应当()。 选择一项: A. 先存入元素,再移动栈顶指针 B. 先移动栈顶指针,再存入元素 C. 同时进行 D. 先后次序无关紧要 4.在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行()。 选择一项: A. p->next=top->next;top->next=p; B. p->next=top->next;top=top->next; C. top->next=p; D. p->next=top;top=p; 5.在一个栈顶指针为top的链栈中删除一个结点时,用 x保存被删结点的值,则执行()。选择一项: A. x=top;top=top->next; B. x=top->data; C. top=top->next;x=top->data; D. x=top->data;top=top->next; 6.判断一个顺序队列(最多元素为m)为空的条件是()。 选择一项: A. rear=m B. front==rear+1 C. front==rear D. rear==m-1 7. 判断一个循环队列为满的条件是()。 选择一项: A. (rear+1)%MaxSize==front B. front==rear+1 C. rear=MaxSize D. rear%MaxSize= =front 8. 判断栈满(元素个数最多n个)的条件是()。

数据结构期末考试复习笔记

判断: 1.线性表的链式存储结构优于顺序存储错误 2.单链表的每个节点都恰好包含一个指针域错误 3.线性表中的元素都可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因 此属于同一数据对象正确 4.在线性表的顺序存储结构中,逻辑上相邻的两个元素在屋里位置上并不一定紧邻。错 误 5.在线性表的数据结构中,插入和删除元素时,移动元素的个数和该元素的位置有关。正 确 6.顺序存储的线性表可以实现随机存取正确 7.栈一定是顺序存储的线性结构错误 8.一个栈的输入序列为A,B,C,D,可以得到输入序列为C,A,B,D 错误 9.队列是一种后进先出的线性表错误 10.树结构中每个节点最多只有一个直接前驱正确 11.二叉树的前序遍历中,任意一个节点均处于其子树节点的前面正确 12.在栈空的情况下,不能做出出栈操作,否则产生溢出正确 13.在前序遍历二叉树的序列中,任何节点的子树的所有节点都是直接跟在该节点之后正 确 填空: 1.在N个节点的顺序表中删除一个节点平均需要移动((N-1)/2)个节点,具体的移 动次数取决于(表长N和删除位置) 2.在单链表中除首节点外,任意节点的存储位置都由(直接前驱)节点中的指针指示 3.树中节点的最大层次称为树的(度) 4.由一颗二叉树的前序序列和(中)序列可唯一确定这棵二叉树 5.哈弗曼树的带权路径长度(最小)的二叉树 6.二插排序树任意节点的关键字值(大于)其左子树中各节点的关键字值(小于)其 右子树中的各节点关键字值 7.二分查找法,表中元素必须按(关键字有序)存放 选择: 1.用单链表方式存储的线性表,储存每个节点需要两个域,一个数据域,另一个是(B 指针域) 2.设A1,A2,A3为三个节点;P,10,,2代表地址,则如下的链表存储结构称为(B 单链表) 3.单链表的存储密度(C 小于1) 4.在线性表中(B 中间元素)只有一个直接前驱和一个直接后续 5.两个指针P和Q,分别指向单链表的两个元素P所指元素时Q所指元素前驱的条 件是(D P==Q) 6.在栈中存取数据的原则是(B 后进先出) 7.顺序栈判空的条件是(C top==-1) 8.串是一种特殊的线性表,其特殊性体现在(B 数据元素是一个字符) 9.求字符串T和字符串S中首次出现的位置的操作为(C 串的模式匹配) 10.深度为H的二叉树至多有(B 2H-1)个节点

国家开放大学电大《数据结构》《离散数学》网络课形考网考作业(合集)答案

国家开放大学电大《数据结构》《离散数学》网络课形考网考作业(合集)答案 《数据结构》网络课答案 形考任务1 一、单项选择题(每小题3分,共60分) 题目1 把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()。 选择一项: A. 算法的具体实现 B. 逻辑结构 C. 给相关变量分配存储单元 D. 物理结构 题目2 下列说法中,不正确的是()。 选择一项: A. 数据项是数据中不可分割的最小可标识单位 B. 数据元素是数据的基本单位 C. 数据项可由若干个数据元素构成 D. 数据可有若干个数据元素构成 题目3 一个存储结点存储一个()。 选择一项: A. 数据项 B. 数据类型 C. 数据元素 D. 数据结构 题目4 数据结构中,与所使用的计算机无关的是数据的()。 选择一项: A. 存储结构 B. 物理结构 C. 逻辑结构 D. 物理和存储结构

在线性表的顺序结构中,以下说法正确的是()。 选择一项: A. 进行数据元素的插入、删除效率较高 B. 数据元素是不能随机访问的 C. 逻辑上相邻的元素在物理位置上不一定相邻 D. 逻辑上相邻的元素在物理位置上也相邻 题目6 对链表, 以下叙述中正确的是()。 选择一项: A. 可以通过下标对链表进行直接访问 B. 插入删除元素的操作一定要要移动结点 C. 不能随机访问任一结点 D. 结点占用的存储空间是连续的 题目7 下列的叙述中,不属于算法特性的是()。 选择一项: A. 可行性 B. 有穷性 C. 可读性 D. 输入性 题目8 算法的时间复杂度与()有关。 选择一项: A. 所使用的计算机 B. 计算机的操作系统 C. 数据结构 D. 算法本身 题目9 设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。 选择一项: A. n-i-1

电大数据结构(本)形考作业1-阶段性学习测验1答案

"题目1:把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()。: 逻辑结构 ; 算法的具体实现 ; 给相关变量分配存储单元 ; 物理结构" "题目2:下列说法中,不正确的是()。 : 数据元素是数据的基本单位 ; 数据项可由若干个数据元素构成 ; 数据项是数据中不可分割的最小可标识单位 ; 数据可有若干个数据元素构成" "题目3:一个存储结点存储一个()。 : 数据类型 ; 数据元素 ; 数据结构 ; 数据项" "题目4:数据结构中,与所使用的计算机无关的是数据的()。 : 物理结构 ; 逻辑结构 ; 存储结构 ; 物理和存储结构" "题目5:在线性表的顺序结构中,以下说法正确的是()。 : 数据元素是不能随机访问的 ; 逻辑上相邻的元素在物理位置上也相邻 ; 进行数据元素的插入、删除效率较高 ; 逻辑上相邻的元素在物理位置上不一定相邻" "题目6:对链表, 以下叙述中正确的是()。 : 插入删除元素的操作一定要要移动结点 ; 不能随机访问任一结点 ; 可以通过下标对链表进行直接访问 ; 结点占用的存储空间是连续的" "题目7:下列的叙述中,不属于算法特性的是()。 : 输入性 ; 可读性 ; 可行性 ; 有穷性" "题目8:算法的时间复杂度与()有关。 : 数据结构 ; 计算机的操作系统 ; 所使用的计算机 ; 算法本身"

"题目9:设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。 : n-i+1 ; n-i-1 ; i ; n-i" "题目10:设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。 : n-i-1 ; n-i ; i ; n-i+1" "题目11:在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。 : p->next=q->next ; q->next=NULL ; p->next=q ; p=q->next" "题目12:在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。 : s->next=p->next; p->next=s; ; p->next=s->next; ; p->next= s; s->next= p->next ; p=s->next" "题目13:非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。 : p== head ; p->next==NULL ; p->next==head ; p==NULL" "题目14:链表不具有的特点是()。 : 插入删除不需要移动元素 ; 不必事先估计存储空间 ; 逻辑上相邻的元素在物理位置上不一定相邻 ; 可随机访问任一元素" "题目15:带头结点的链表为空的判断条件是()(设头指针为head)。 : head->next==head ; head->next==NULL ; head!=NULL ; head ==NULL" "题目16:在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表的长度为()。 : 19 ; 21 ; 25

数据结构 期末考试复习题及答案

1.什么是最小生成树?简述最小生成树的Prime算法的思想。 答:最小生成树就是构造一棵生成树,使得树上各边的代价之和最小。 普里姆算法(Prim)的基本思想: 从连通网络N = { V, E }中的某一顶点u0 出发,选择与它关联的具有最小权值的边(u0, v),将其顶点加入到生成树的顶点集合U中。以后每一步从一个顶点在U中,而另一个顶点不在U中的各条边中选择权值最小的边(u, v),把它的顶点加入到集合U中。如此继续下去,直到网络中的所有顶点都加入到生成树顶点集合U中为止。 2.简述AOV网络中为何不能出现回路,如何判断AOV网络是否有回路? 答:在AOV网络中,如果活动vi必须在vj之前进行,则称为存在有向边;在AOV网络中不能出现有向回路,如果出现了,则意味着某项活动应以自己作为先决条件。 如何检查AOV网是否存在有向环: 检测有向环的一种方法是对AOV网络构造它的拓扑有序序列。即将各个顶点(代表各个活动)排列成一个线性有序的序列,使得AOV网络中所有应存在的前驱和后继关系都能得到满足。(1)这种构造AOV网络全部顶点的拓扑有序序列的运算就叫做拓扑排序。 (2)如果通过拓扑排序能将AOV网络的所有顶点都排入一个拓扑有序的序列中,则该AOV 网络中必定不会出现有向环;相反,如果得不到满足要求的拓扑有序序列,则说明AOV网络中存在有向环,此AOV网络所代表的工程是不可行的。

3.为何需要采用循环队列?n个空间的循环队列,最多存储多少个元素?为什 么? 答:循环队列以克服顺序队列的"假上溢"现象,能够使存储队列的向量空间得到充分的利用,所以采用循环队列。 n个空间的循环队列,最多存储n-1个元素,那是为了区别循环队列的队空和队满的条件。队空的条件是Q.front==Q.rear,而队满的条件是(Q.rear+1)%N==Q.front(N是数组中单元的总数),因此,Q.rear所指向的数组单元处于未用状态。所以说,N个单元的数组所存放的循环队列最大长度是N-1。 4.简述堆的删除算法,其删除的是那个值? 答:堆的删除算法:首先,移除根节点的元素(并把根节点作为当前结点)比较当前结点的两个孩子结点的元素大小,把较大的那个元素移给当前结点,接着把被移除元素的孩子结点作为当前结点,并再比较当前结点的孩子的大小,以此循环,直到最后一个叶子结点的值大于或等于当前结点的孩子结点或孩子结点的位置超过了树中元素的个数,则退出循环。最后把最后叶子结点的元素移给当前结点。 在堆的算法里面,删除的值为根值。 5.线索二叉树中,什么是线索,它是否唯一?可有根据什么顺序得到?

20202020年电大数据结构(本)期末复习材料

数据结构(本)期末综合练习 一、单项选择题 1.数据元素是数据的基本单位,它( C )。 A.只能有一个数据项组成B.至少有二个数据项组成 C.可以是一个数据项也可以由若干个数据项组成D.至少有一个数据项为指针类型 2.一种逻辑结构( A )存储结构。 A.可以有不同的B.只能有唯一的 C.的数据元素在计算机中的表示称为D.的数据元素之间的关系称为 3.线性表的顺序结构中,( C )。 A.逻辑上相邻的元素在物理位置上不一定相邻B.数据元素是不能随机访问的 C.逻辑上相邻的元素在物理位置上也相邻D.进行数据元素的插入、删除效率较高4.以下说法中不正确的是( B )。 A.双向循环链表中每个结点需要包含两个指针域 B.已知单向链表中任一结点的指针就能访问到链表中每个结点 C.顺序存储的线性链表是可以随机访问的D.单向循环链表中尾结点的指针域中存放的是头指针5.以下表中可以随机访问的是( D )。 A.单向链表B.双向链表C.单向循环链表D.顺序表 6.双向循环链表结点的数据类型为: struct node { int data; struct node *next; /*指向直接后继*/ struct node *prior; }; 设p指向表中某一结点,要显示p所指结点的直接前驱结点的数据元素,可用操作( B )。 A.printf(“%d”,p->next->data); B.printf(“%d”,p->prior->data); C.printf(“%d”,p->prior->next); D.printf(“%d”,p->data); 7 .设顺序存储的线性表长度为n,对于删除操作,设删除位置是等概率的,则删除一个元素平均移动元 素的次数为( A )。 A.(n+1)/2 B.n C.2n D.n-i

数据结构复习资料,java数据结构期末考试

第二章算法分析 1.算法分析是计算机科学的基础 2.增长函数表示问题(n)大小与我们希望最优化的值之间的关系。该函数表示了该算法的时间复杂度或空间复杂度。增长函数表示与该问题大小相对应的时间或空间的使用 3.渐进复杂度:随着n的增加时增长函数的一般性质,这一特性基于该表达式的主项,即n 增加时表达式中增长最快的那一项。 4.渐进复杂度称为算法的阶次,算法的阶次是忽略该算法的增长函数中的常量和其他次要项,只保留主项而得出来的。算法的阶次为增长函数提供了一个上界。 5.渐进复杂度:增长函数的界限,由增长函数的主项确定的。渐进复杂度类似的函数,归为相同类型的函数。 6.只有可运行的语句才会增加时间复杂度。 7. O() 或者大O记法:与问题大小无关、执行时间恒定的增长函数称为具有O(1)的复杂度。 增长函数阶次 t(n)=17 O(1) t(n)=3log n O(log n) t(n)=20n-4 O(n) t(n)=12n log n + 100n O(n log n) t(n)=3n2+ 5n - 2 O(n2) t(n)=8n3+ 3n2O(n3) t(n)=2n+ 18n2+3n O(2n) 8.所有具有相同阶次的算法,从运行效率的角度来说都是等价的。 9.如果算法的运行效率低,从长远来说,使用更快的处理器也无济于事。 10.要分析循环运行,首先要确定该循环体的阶次n,然后用该循环要运行的次数乘以它。(n 表示的是问题的大小) 11.分析嵌套循环的复杂度时,必须将内层和外层循环都考虑进来。 12.方法调用的复杂度分析: 如:public void printsum(int count){ int sum = 0 ; for (int I = 1 ; I < count ; I++) sum += I ; System.out.println(sun); } printsum方法的复杂度为O(n),计算调用该方法的初始循环的时间复杂度,只需把printsum方法的复杂度乘以该循环运行的次数即可。所以调用上面实现的printsum方法的复 杂度为O(n2)。 13指数函数增长> 幂函数增长> 对数函数增长

数据结构学生期末复习卷习题答案

一.是非题 (正确的打“√”,错误的打“×”。) 1. 数据结构可用三元式表示(D,S,P)。其中:D是数据对象,S是D上的关系集, P是对D的基本操作集。× 2. 线性表的链式存储结构具有可直接存取表中任一元素的优点。× 3. 字符串是数据对象特定的线性表。 4. 二叉树是一棵结点的度最大为二的树。× 5.邻接多重表可以用以表示无向图,也可用以表示有向图。× 6.可从任意有向图中得到关于所有顶点的拓扑次序。× 7.一棵无向连通图的生成树是其极大的连通子图。× 8.二叉排序树的查找长度至多为log2n。× 9.对于一棵m阶的B-树.树中每个结点至多有m 个关键字。除根之外的所有非终端结点至少有┌m/2┐个关键字。× 10.对于目前所知的排序方法,快速排序具有最好的平均性能。√ 11. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。× 12. 二维数组是其数据元素为线性表的线性表。√ 13. 连通图G的生成树是一个包含G的所有n个顶点和n-1条边的子图。× 14. 折半查找不适用于有序链表的查找。√ 15. 完全二叉树必定是平衡二叉树。√ 16. 中序线索二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。√ 17. 队列是与线性表完全不同的一种数据结构。× 18. 平均查找长度与记录的查找概率有关。√ 19. 二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,二叉树是树的特殊情形。× 20. 算法的时间复杂性越好,可读性就越差;反之,算法的可读性越好,则时间复杂性就越差。× 二.选择题 1. 若对编号为1,2,3的列车车厢依次通过扳道栈进行调度,不能得到 (e ) 的序列。 a:1,2,3 b:1,3,2 c:2,1,3 d:2,3,1 e:3,1,2 f:3,2,1 2. 递归程序可借助于( b )转化为非递归程序。 a:线性表 b: 栈 c:队列 d:数组 3. 在下列数据结构中(c)具有先进先出(FIFO)特性,( b )具有先进后出(FILO)特性。 a:线性表 b:栈 c:队列 d:广义表 4. 对字符串s=’data-structure’ 执行操作replace(s,substring(s,6,8),’bas’) 的结果是 ( d ) 。 a: ‘database’ b: ‘data-base’ c: ‘bas’ d: ‘data-basucture’

【2021年最新整理】电大本科数据结构(本期末综合练习资料考试答案解析

电大数据结构(本)期末综合练习 期末综合练习一 一、单项选择题 1.数据的物理结构(D)。 A.与数据的逻辑结构无关 B.仅仅包括数据元素的表示 C.只包括数据元素间关系的表示 D.包括数据元素的表示和关系的表示 2.数据元素是数据的基本单位,它(C )。 A.只能有一个数据项组成 B.至少有二个数据项组成 C.可以是一个数据项也可以由若干个数据项组成 D.至少有一个数据项为指针类型 3.从n个数中选取最大元素,( C )。 A.基本操作是数据元素间的交换B.算法的时间复杂度是O(n2) C.算法的时间复杂度是O(n) D.需要进行(n+1)次数据元素间的比较 4.线性表的顺序结构中,( C )。 A.逻辑上相邻的元素在物理位置上不一定相邻 B.数据元素是不能随机访问的 C.逻辑上相邻的元素在物理位置上也相邻 D.进行数据元素的插入、删除效率较高 5.以下表中可以随机访问的是( D )。 A.单向链表 B.双向链表 C.单向循环链表D.顺序表 6.带头结点的单向链表为空的判断条件是( B )(设头指针为head)。 A.head = =NULL B.head->next= =NULL C.head->next= =head D.head!=NULL 7 .设顺序存储的线性表长度为n,对于删除操作,设删除位置是等概率的,则删除一个元素平均移动元素的次数为( A )。 A.(n+1)/2B.n C.2nD.n-i 8.线性结构中数据元素的位置之间存在(A )的关系。 A.一对一B.一对多 C.多对多D.每一个元素都有一个直接前驱和一个直接后继 9.设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为(A )。 A.x=top->data;top=top->next; B.top=top->next;x=top->data; C.x=top-> next;top=top-> data; D.top->next =top; x=top->data; 10.设顺序存储的线性表长度为n,要删除第i个元素,按课本的算法,当i=( C )时,移动元素的次数为3 A.3 B.n/2 C.n-3 D.4 11.以下说法正确的是( C )。 A.队列是后进先出 B.栈的特点是后进后出 C.栈的删除和插入操作都只能在栈顶进行 D.队列的删除和插入操作都只能在队头进行 12 .以下说法不正确的是(C )。 A.栈的特点是后进先出B.队列的特点是先进先出 C.栈的删除操作在栈底进行,插入操作在栈顶进行 D.队列的插入操作在队尾进行,删除操作在队头进行 13.串函数StrCmp(“abA”,”aba”)的值为( D )。 A.1 B.0 C.“abAaba”D.-1

(完整word版)数据结构期末复习题

数据结构期末复习题 一、选择题 1.以下说法中不正确的是(D)。 A.数据元素是数据的基本单位 B.数据项是不可分割的最小可标识单位 C.数据可由若干个数据元素构成 D.数据项可由若干个数据元素构成 2.计算机所处理的数据一般具备某种内在联系,这是指(B)。 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.顺序表 B.哈希表 C.有序表 D.单链表 8.以下不属于存储结构的是(A)。 A.栈 B.线索二叉树 C.哈希表 D.双链表 9.在计算机中存储数据时,通常不仅要存储个数据元素的值,而且还要存储(C)。 A.数据的处理方法 B.数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 10.数据结构在计算机内存中的表示是指(A)。 A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系 11.在数据的存储结构中,一个结点通常存储一个(B)。 A.数据项 B.数据元素 C.数据结构 D.数据类型 12.在决定选择何种类型的存储结构时,一般不多考虑(A)。

电大数据结构形成性考核册答案(作业1-4)

电大数据结构(本)考核作业答案 作业1 一、单项选择题 1.C 2.D 3.B 4.C 5.D 6.C 7.B 8.C 9.A 10.B 11.C 12.D 13.C 14.A 15.B 16.C 17.C 18.B 19.B 20.D 二、填空题 1.n-i+1 2.n-i 3.集合线性结构树形结构图状结构 4.物理结构存储结构 5.线性结构非线性结构 6.有穷性确定性可形性有零个或多个输入有零个或多个输出 7.图状结构 8.树形结构 9.线性结构 10.n-1 O(n) 11.s->next=p->next; 12.head 13.q->next=p->next; 14.p->next=head; 15.单链表 16.顺序存储链式存储 17.存储结构 18.两个直接后继直接前驱尾结点头结点 19.头结点的指针指向第一个结点的指针 20.链式链表 三、问答题 1.简述数据的逻辑结构和存储结构的区别与联系,它们如何影响算法的设计与实现? 答:若用结点表示某个数据元素,则结点与结点之间的逻辑关系就称为数据的逻辑结构。数据在计算机中的存储表示称为数据的存储结构。可见,数据的逻辑结构是反映数据之间的固有关系,而数据的存储结构是数据在计算机中的存储表示。尽管因采用的存储结构不同,逻辑上相邻的结点,其物理地址未必相同,但可通过结点的内部信息,找到其相邻的结点,从而保留了逻辑结构的特点。采用的存储结构不同,对数据的操作在灵活性,算法复杂度等方面差别较大。 2.解释顺序存储结构和链式存储结构的特点,并比较顺序存储结构和链式存储结构的优缺点。 答: 顺序结构存储时,相邻数据元素的存放地址也相邻,即逻辑结构和存储结构是统一的,,要求内存中存储单元的地址必须是连续的。 优点:一般情况下,存储密度大,存储空间利用率高。 缺点:(1)在做插入和删除操作时,需移动大量元素;(2)由于难以估计,必须预先分配较大的空间,

2020年国家开放大学电大考试《数据结构》期末复习试题

数据结构期末复习练习题 第一章绪论 一、单选题 1. 一个数组元素a[i]与________的表示等价。 A、*(a+i) B、a+i C、*a+i D、&a+i 2. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。 A、参数类型 B、参数个数 C、函数类型 3. 若需要利用形参直接访问实参,则应把形参变量说明为________参数 A、指针 B、引用 C、值 4. 下面程序段的时间复杂度为____________。 for(int i=0; i

数据结构期末复习资料[1]

第一章 1、数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。 数据结构(Data Structure):相互之间存在一种或多种特定关系的数据元素的集合。 2、数据结构的形式定义:二元组Data_Structure=(D,S) 其中,D 是数据元素的有限集,S 是D 上关系的有限集。 3、数据元素之间关系的映像:1、顺序映像(顺序存储结构):以相对的存储位置表示后继关系。 2、非顺序映像(链式存储结构):借助指针元素存储地址的指针表示数据元素之间的逻辑关系。 任何一个算法的设计取决于数据(逻辑)结构,其实现取决于物理结构。 4、 算法的定义:对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。 特性:有穷性、确定性、可行性、输入、输出 5、 算法的评价——衡量算法优劣的标准 正确性(correctness):满足具体问题的需求 可读性(readability):易读、易理解 健壮性(robustness):当输入数据非法时,算法能够做出反应或进行处理 效率与低存储量:执行时间短、存储空间小 作业的答案:试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 第二章 1、线性表是一种最简单的线性结构。 线性结构 是一个数据元素的有序(次序)关系 特点:存在唯一的一个“第一个”的数据元素;存在唯一的一个“最后一个”的数据元素;除第一个数据元素外,均有唯一的前驱;除最后一个数据元素外,均有唯一的后继 2、线性表类型的实现——顺序映像 定义:用一组地址连续的存储单元依次存放线性表中的数据元素。 ? 以“存储位置相邻”表示有序对,则有:LOC (ai ) = LOC (ai -1) + l 其中l 是一个数据元素所占存储 量 LOC (ai ) = LOC (a 1) + (i -1)×l ? 特点:1、实现逻辑上相邻—物理地址相邻2、实现随机存取 3、若假定在线性表中任何一个位置上进行插入的概率都是相等的,则移动元素的期望值为: ∑+=+-+=1 1 )1(11n i is i n n E 2 n = 若假定在线性表中任何一个位置上进行删除的概率都是相等的,则移动元素的期望值为: ∑=-=n i dl i n n E 1)(12 1-=n 4、 线性表类型的实现——链式映像 线性链表 特点:用一组地址任意的存储单元存放线性表中的数据元素。 5、在单链表中第 i 个结点之前进行插入的基本操作为:找到线性表中第i-1个结点,然后修改其指向后继的指针。 s = (LinkList) malloc ( sizeof (LNode)); // 生成新结点 s->data = e; s->next = p->next; p->next = s; // 插入 在单链表中删除第 i 个结点的基本操作为:找到线性表中第i-1个结点,修改其指向后继的指针。 q = p->next; p->next = q->next; e = q->data; free(q); 5、 循环链表:最后一个结点的指针域的指针又指回第一个结点的链表。 和单链表的差别仅在于: 判别链表中最后一个结点的条件不再是“后继是否为空”,而是“后继是否为头结点”。 6、 双向链表的操作特点:1、“查询” 和单链表相同;2、“插入” 和“删除”时需要同时修改两个方向上的指针 “插入”:s->next = p->next; p->next = s; s->next->prior = s; s->prior = p;(s 是插入的结点) 删除:p->next = p->next->next; p->next->prior = p;(要删除的是p 的下一个结点) 课后作业 P13: 2.3、2.5 P15: 2.8、2.9(2) 第三章

电大数据结构考试资料总汇

1.下列功能中,不属于数据库管理系统功能得就是( B )。B.数据库文 件读写 2.设有学生表(学号,姓名,所在系,专业,身份证号),其中能够作为候选 键得就是( B )。 B.学号、身份证号 3.下列运算中,属于专门得关系运算得就是( C )。C。集合得连接 运算 4.下列扩展名中,属于SQL Server推荐得日志文件扩展名得就是 ( D )。D.、ldf 5.下列关于SQL Server数据库组成得说法,正确得就是( A )。A.一 个数据库可由多个数据文件与多个日志文件组成 6.下列(B)操作属于数据操作。B.UPDATE 7.下列类型中,属于普通编码可变长字符串类型得就是( D )。D。var char 8.下列语句运行得结果就是( C ). DECLARE x char (2)='30', y char(2) ='ABC’ z char(8) SET z=x+y Print zC。30ABC 9.下列( D )定义外键约束。D.FOREIGN KEY 10.下列表达式中,与“所在部门NOT IN ('财务', '后勤')"等价 得就是( A )。 A.所在部门!= ’财务' AND 所在部门 !=’后勤’ 11.对char(10)类型得列,若存储“中国",其占用得字节数就是 (C)。C。10 12.现要统计选课表中C01课程得总成绩,下列语句中正确得就是( C )。C.SELECT SUM(成绩)FROM 选课表 WHERE 课程号 = 'C01’ 13.设有销售表(经销商号,汽车型号,销售时间,销售价格),现要删除销售 价格为空得所有记录,下列语句中正确得就是( C).C.DELETE 销售表WHERE销售价格IS NULL 14.设有商品表(商品号,商品名,类别,单价),现要将S011与S012商 品得单价加10元,下列语句中正确得就是( A )。 A。UPDATE商品表 SET 单价 = 单价+10 WHERE商品号 = 'S011’ OR商品号=’S012’ 15.下列关于索引得说法,错误得就是( A ). A.索引由索引项组成,索引项只能由表中得一个列组成 16.下列关于触发器得说法,正确得就是( C )。 C.触发器就是由数据更改操作引发得自动执行得代码 17.下列关于数据库中事务得说法,正确得就是( B )。 B.一个事务应该包含得操作就是由用户得业务决定得 18.下列关于SQL Server完整备份得说法,错误得就是( D )。D.完整备份之后必须进行一次差异备份 19.下列不属于ADO对象得就是( A )。A。OLE DB 20.在VB中,可以利用Connection对象得Execute方法实现对数据库得更 改操作.下列删除SC表中学号为S01得选课记录得语句,正确得就是 (B)。 B.ADOcn、Execute“DELETE FROM SC WHERE 学号 = 'S01'" 21.更改数据操作属于数据得静态特征.(× ) 22.关系数据模型得数据结构就是简单二维表.( √ ) 23.数据库三级模式中得内模式又称为存储模式,描述数据得物理存储. (√) 24.一个关系模式只能包含一个候选键。(×) 25.SQL Server 2008最核心得服务就是SSMS.(×) 26.SQL Server 2008中,用户创建得数据库得大小不能小于9MB. (×) 27.数据操作功能用于控制用户对数据库得操作权限。( × ) 28.RETURN得作用就是按照条件退出。( ×) 29.不管对表进行什么类型得操作,在表上建立得索引越多越能提高查询效 率.( ×) 30.SQL Server2008中,当登录账户成为某数据库得合法用户之后,其 对该数据库中得用户数据与对象自动拥有各种操作权限。(×)1。(本题10分)写出创建如下三张数据表得SQL语句。 “商品”表结构: 商品号:普通编码定长字符类型,长度为10,主键。 商品名:普通编码可变长字符类型,长度为20,非空。 类别:统一字符编码定长字符类型,长度为3,取值为:“PAD”、“手机"、“计算机". 单价:整型. “生产厂家”表结构: 厂家编号:普通编码定长字符类型,长度为20,主键。 厂家名:普通编码可变长字符类型,长度为30,非空。 厂家地址:统一字符编码可变长字符类型,长度为40。 “生产”表结构: 商品号:普通编码定长字符类型,长度为10,引用商品表得外键。 厂家编号:普通编码定长字符类型,长度为20,引用生产厂家表得外键. 生产日期:日期类型. 生产数量:整型. 主键:(商品号,厂家编号,生产日期) 参考答案及评分要点 CREATE TABLE 商品( 商品号char(10) primary key, 商品名varchar(20)not null, 类别?nchar(3) CHECK (类别 IN('PAD','手机',’ 计算机’)), 单价int? ?) ?CREATE TABLE 生产厂家( 厂家编号char(20) primary key, 厂家名?varchar(30) not null, 厂家地址nvarchar(40) ) ?CREATETABLE生产( 商品号?char(10), 厂家编号?char(20), 生产日期?date, 生产数量?int, Primarykey(商品号,厂家编号,生产日期), Foreign key(商品号) references商品(商品号), Foreignkey(厂家编号)references生产厂家 (厂家编号) ) 2.依据第1题所创建得三张表,写出完成下列操作得SQL语句(本题共20分,每小题5分)。 1)查询“手机”类商品得商品名与单价. 2)查询单价大于4000得“计算机”类商品得生产情况,列出商品名、单价与生产日期。 3)删除2012年6月1日之前生产得全部商品。 4)在商品表中插入一行数据,商品号:SP100,商品名:新商品,类别:PAD,单价未知。 参考答案及评分要点 1)SELECT商品名,单价FROM商品 WHERE类别= ’手机' 2)SELECT 商品名, 单价,生产日期 FROM商品 a JOIN 生产 b ON a、商品号 = b、商品号 WHERE单价> 4000 AND类别 = ’计算机' 3)DELETE商品WHERE 商品号 IN( SELECT 商品号FROM 生产WHERE 生产日期〈’2012/6/1') 4)INSERT INTO 商品(商品号,商品名,类别) VALUES('SP100’,'新商品’,’PAD') 3。依据第1题所创建得三张表,写出创建满足如下要求得视图得SQL语句:查询生产“手机”类商品得厂家名与厂家地址。(本题10分) 参考答案及评分要点 CREATEVIEW V1 AS SELECT 厂家名,厂家地址FROM 生产厂家 a JOIN生产 b ON a、厂家编号 =b、厂家编号 JOIN商品cONc、商品号= b、商品号 WHERE类别= '手机’ 31.下列关于数据库管理系统得说法,错误得就是( C )。C。数据库管理 系统不支持多用户同时访问相同数据库 32.设有图书销售表(书号,销售时间,销售数量,销售总价),设同一时间可 销售多种图书,但同一图书同一时间只能销售一次。其中适合作为主键 得就是( D )。 D。(书号,销售时间) 33.下列关于投影运算得说法,正确得就是( D ).D.投影运算就是从垂 直方向选取数据,所选取得数据没有重复得行 34.下列关于实体完整性得说法,错误得就是( D ).D。实体完整性属于 应用级得约束 35.下列(C)操作属于数据定义。C。CREATE 36.下列类型中,属于统一编码可变长字符串得就是( B )。B.nvarchar 37.下列属于数值类型得就是( A )。A.int 38.“NULL +100"得执行结果就是(A)。A.NULL 39.下列表达式中,与“年龄 BETWEEN 20 AND 30"等价得就是 (B)。B。年龄 >= 20 AND 年龄 <= 30 40.现要统计选课表中C01课程得最高成绩,下列语句中正确得就是 ( A )。A。SELECT MAX(成绩) FROM选课表 WHERE 课程号 =’C01’ 41.下列关于聚集索引与非聚集索引得说法,正确得就是(C)。C。 在一个表上可以同时存在聚集索引与非聚集索引 42.设有选课表(学号,课程号,成绩),现要统计选了课程得学生人数,下列 语句中正确得就是( D )。D.SELECT COUNT(DISTINCT 学号) FROM 选课表 43.设有选课表(学号,课程号,成绩),现要删除成绩为空得所有记录,下列 语句中正确得就是( C )。C.DELETE 选课表WHERE 成绩IS N ULL 44.仅允许Windows操作系统用户连接到SQLServer数据库服务器 得验证模式就是( B )。B.Windows身份验证模式 45.下列关于视图得说法,错误得就是( A )。A。只能在基本表上建立视 图,不能在视图上再建立视图 46.下列关于数据库设计中新奥尔良方法得说法,错误得就是( D )。D.

相关文档
相关文档 最新文档