杭电数据结构期末复习卷答案

杭电数据结构期末复习卷答案
杭电数据结构期末复习卷答案

一.是非题

(正确的打“√”,错误的打“×”。)

1. 数据结构可用三元式表示(D,S,P)。其中:D是数据对象,S是D上的关系集,

P是对D的基本操作集。×

2. 线性表的链式存储结构具有可直接存取表中任一元素的优点。×

3. 队列是数据对象特定的线性表。×

4. 二叉树是一棵结点的度最大为二的树。×

5.邻接表可以用以表示无向图,也可用以表示有向图。√

6.可从任意有向图中得到关于所有顶点的拓扑次序。×

7.一棵无向连通图的生成树是其极大的连通子图。×

8.二叉排序树的查找长度至多为log

n。×

2

9.对于一棵m阶的B

树,树中每个结点至多有m-1个关键字。除根之外的所有非终端结点

-

至少有?m/2? -1个关键字。√

10.对于目前所知的排序方法,快速排序具有最好的平均性能。√

11. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。×

12. 二维数组是其数据元素为线性表的线性表。√

13. 连通图G的生成树是一个包含G的所有n个顶点和n-1条边的子图。×

14. 折半查找不适用于有序链表的查找。√

15. 完全二叉树必定是平衡二叉树。√

16. 中序线索二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。√

17. 队列是与线性表完全不同的一种数据结构。×

18. 平均查找长度与记录的查找概率有关。√

19. 广义表的表头和表尾都有可能是原子或广义表。×

20. 算法的时间复杂性越好,可读性就越差;反之,算法的可读性越好,则时间复杂性就越差。×

二.选择题

1. 若广义表LS满足GetHead(LS)==GetTail(LS),则LS为( b )。

A. ( )

B. (( ))

C. (( ),( ))

D. (( ),( ),( ))

2. 递归程序可借助于( b )转化为非递归程序。

a:线性表 b: 栈 c:队列 d:数组

3. 在下列数据结构中( c )具有先进先出(FIFO)特性,( b )具有先进后出(FILO)特性。

a:线性表 b:栈 c:队列 d:广义表

4. 假设用于通讯的电文仅由6个字符组成,字母在电文中出现的频率分别为7, 19, 22, 6, 32, 14。若为这6个字母设计哈夫曼编码(设生成新的二叉树的规则是按给出的次序从左

至右的结合,新生成的二叉树总是插入在最右),则频率为7的字符编码是(g),频率为32的字符编码是(c)。

a: 00 b: 01 c: 10 d: 11

e: 011 f: 110 g: 1110 h:1111

5. 对二叉排序树按(c)可得到有序序列。

? ? a:层次遍历 b:前序遍历 c:中序遍历 d:后序遍历

6.已知某树的先根遍历次序为abcdefg,后根遍历次序为cdebgfa。若将该树转换为二叉树,其后序遍历次序为(d)。

a: abcdefg b: cdebgfa c: cdegbfa d: edcgfba

7.对一棵完全二叉树进行层序编号。则编号为n的结点若存在右孩子,其编号是( d )。

编号为n的结点若存在双亲,其编号是( a )。

a: n/2 b: 2n c: 2n-1 d: 2n+1 e: n f: 2(n+1)

8.关键路径是指在只有一个源点和一个汇点的有向无环网中源点至汇点(c)的路径。

a:弧的数目最多 b:弧的数目最少 c:权值之和最大 d:权值之和最小

9. 哈希表的查找效率取决于(d)。

a: 哈希函数 b:处理冲突的方法。 c:哈希表的装填因子。 d:以上都是

10.从逻辑上可以把数据结构分成( c )。

a: 动态结构和静态结构 b: 顺序组织和链接组织

c: 线性结构和非线性结构 d: 基本类型和组合类型

11.在计算递归函数时,如不用递归过程,应借助于( b )这种数据结构。

a: 线性表 b: 栈 c: 队列 d: 双向队列

12.若已知某二叉树的中序和后序遍历序列分别BCAEFD和CBFEDA,则该二叉树的先序序列为( a )。

a: ABCDEF b: ABDCEF c: ABDCFE d: ACBDFE

13.当待排序序列的关键字次序为倒序时,若需为之进行正序排序,下列方案中( d)为佳。 a: 起泡排序 b: 快速排序

c: 直接插入排序 d: 简单选择排序

14.若从二叉树的根结点到其它任一结点的路径上所经过的结点序列按其关键字递增有序,则该二叉树是( c )。

a: 二叉排序树 b: 赫夫曼树 c: 堆 d: 平衡二叉树15.下图所有可能的拓扑序列有( b )种。

a: 2 b: 3 c: 4 d: 5

16.下列排序算法中,( d )算法可能会出现:初始数据为正序时,花费的时间反而最多。

a: 堆排序 b: 起泡排序 c: 归并排序 d: 快速排序

17.右图为一棵3阶B-树。20 ,25

在该树上插入元素15

后的B-树是( c )。10 , 14 21 35

a:15 , 25 b:20 , 25

10 , 14 20 , 21 35 10 , 14 15 , 21 35

c: 20 d: 14 , 25

14 25 10 , 15 20 , 21 35

10 15 21 35

18.设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为m1、m2和m3,则与森林F对应的二叉树根结点的右子树上的结点个数是( d )。

a: m1 b: m1+m2 c: m3 d: m2+m3

19. 根据插入次序(80,90,100,110,85,70,75,60,72)建立二叉排序树。图(a)是最终变化的结果。若仍以该插入次序建立平衡二叉树。图(c)是最终变化的结果。

a: b:

80 80

70 90 75 90

60 75 85 100 60 70 85 100

72 110 72 110

c: d:

90 90

75 100 80 100

70 80 110 75 70 85 110

60 72 85 60 72

20.设输入序列为20,45,30,89,70,38,62,19,依次插入到一棵2-3树中(初始状态为空),该B-树为(b)。再删除38,该B-树为(f)。

a: b:

( 30 62 )( 45 )

(19,20)( 38 45 )( 70,89 )( 30 )( 70 )

(19 20)(38 )( 62 )( 89 )

c: d:

( 45 70 )( 45 )(20)( 62 )( 89 )( 20 )( 70 )

(19)( 30 )( 19 ) ( 30,38 )( 62 )( 89 )

e: f:

( 30 70 )( 45 )

(19,20)( 45 62)( 89 )( 20 )( 70 )

(19 )(30 )( 62 )( 89 )

21.已知一组待排序的记录关键字初始排列如下:45,34,87,25,67,43,11,66,27,78 。

( g )是快速排序法一趟排序的结果;

( a )是希尔排序法(初始步长为4)一趟排序的结果;

( b )是初始堆(大堆顶);

( d )是基数排序法一趟排序的结果。

a:27,34,11,25,45,43,87,66,67,78 b: 87,78,45,66,67,43,11,25,27,34 c: 11,43,34,25,45,66,27,67,87,78 d:11,43,34,45,25,66,87,67,27,78

e: 34,45,25,67,43,11,66,27,78,87 f: 87,45,11,25,34,78,27,66,67,43 g: 27,34,11,25,43,45,67,66,87,78 h: 34,11,27,25,43,78,45,67,66,87

22.若有序表中关键字序列为:14,20,25,32,34,45,57,69,77,83,92。对其进行折半查找,则在等概率情况下,查找成功时的平均查找长度是( c )。查找32时需进行

( c )次比较。

a: 1 b: 2 c: 3 d: 4

23. 设一棵二叉树BT的存储结构如下:

1 2 3 4 5 6 7 8

lchild 2 3 0 0 6 0 0 0

data A B C D E F G H

rchild 0 5 4 0 8 7 0 0

其中lchild,rchild分别为结点的左、右孩子指针域,data为结点的数据域。则

该二叉树的高度为( d );

第3层有( a )个结点(根结点为第1层)。

a: 2 b: 3 c: 4 d: 5

24. 一个连通图的最小生成树( b )。

a: 只有一棵 b: 有一棵或多棵 c: 一定有多棵 d: 可能不存在

25.若某二叉树有20个叶子结点,有20个结点仅有一个孩子,则该二叉树的总结点数是( c)。 a: 40 b: 55 c: 59 d: 61

26.已知哈希表地址空间为A[0..8],哈希函数为H(k)=k mod 7,采用线性探测再散列处理冲突。若依次将数据序列:76,45,88,21,94,77,17存入该散列表中,则元素17存储的下标为( f );在等概率情况下查找成功的平均查找长度为( c )。

a: 0 b: 1 c: 2 d: 3 e: 4 f: 5 g: 6 h: 7

27.已知某有向图的邻接表存储结构如图所示。

根据存储结构,依教材中的算法其深度优先遍历次序为(d)。

广度优先遍历次序为(c)。各强连通分量的顶点集为( f)。

a: abcde. b: edcba. c: ecdab. d: ecadb.

e: abc及ed f: ac及bed g: ab及ced h: bc及aed

28. 已知某无向图的邻接表如下所示;

( e )是其原图。

( c )是按该邻接表遍历所得深度优先生成树。

( d )是按该邻接表遍历所得广度优先生成树。

a: a b b: a b c: a b

c d c d c d

e f e f e f

d: a b e: a b f: a b

d c c d c d

f e e f e f

,每一元素用相邻的4个字节存储,存储器按字节编址。

29.设有二维数组A

5 x 7

已知A的起始地址为100。则按行存储时,元素A

的存储地址是(d);

06

的存储地址是(a)。

按列存储时,元素A

06

a. 220

b. 200

c. 140

d. 124

30.若顺序表中各结点的查找概率不等,则可用如下策略提高顺序查找的效率:若找到指定

的结点,将该结点与其后继(若存在)结点交换位置,使得经常被查找的结点逐渐移至表尾。以下为据此策略编写的算法,请选择适当的内容,完成此功能。

顺序表的存储结构为:

typedef struct{

ElemType *elem; //数据元素存储空间,0号单元作监视哨

int length; //表长度

}SSTable;

int search_seq(SSTable ST, KeyType key)

{ //在顺序表ST中顺序查找关键字等于key的数据元素。

//若找到,则将该元素与其后继交换位置,并返回其在表中的位置,否则为0。

ST.elem[0].key=key;

i=ST.length;

while(ST.elem[i].key!=key) f ;

if( g )

{ ST.elem[i]←→ST.elem[i+1];

e;

}

return i;

}

a: i>0 b: i>=0 c: i

e: i++ f: i-- g: A和C同时满足 h: B和D同时满足

三.算法设计题

1. 单链表结点的类型定义如下:

typedef struct LNode {

int data;

struct LNode *next;

} LNode, *Linklist;

写一算法,Contrary(linklist &L) ,对一带头结点且仅设尾指针L的循环单链表就地逆置。(即首元变尾元,尾元变首元。)

void Contrary(linklist &L)

{ p=L->next; q=L;

while(p!=L)

{ r=p->next; p->next=q; q=p; p=r; }

p->next=q;

}

2.二叉树用二叉链表存储表示。

typedef struct BiTNode {

TelemType data;

Struct BiTNode *lchild, *rchild;

} BiTNode, *BiTree;

试编写销毁二叉树T的算法DestroyBiTree ( BiTree &T)。

void DestroyBiTree ( BiTree &T)

{ if(!T) return;

if(T-lchild) DestroyBiTree(T->lchild);

if(T-rchild) DestroyBiTree(T->rchild);

free(T); T=NULL;

}

3.设带头结点的单链表中的元素以值非递减有序排列,试编写算法,删除表中所有值相同的多余元素。

单链表结点的类型定义如下:

typedef struct LNode{

int data;

Struct LNode *next;

}LNode, *LinkList;

void Delete_same(LinkList L)

{ if(!L->next) return;

p=L->next; q=p->next;

while(q)

if(p->data==q->data)

{ p->next=q->next; free(q); q=p->next;} else

{ p=q; q=q->next;}

}

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

判断: 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)个节点

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

2017年数据结构期末考试题及答案 一、选择题(共计50分,每题2分,共25题) 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. 在以下的叙述中,正确的是B ° A. 线性表的顺序存储结构优于链表存储结构 B. 二维数组是其数据元素为线性表的线性表 C?栈的操作方式是先进先出 D.队列的操作方式是先进后出

8. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 A. 数据元素具有同一特点 B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C. 每个数据元素都一样 D. 数据元素所包含的数据项的个数要相等 9 ?链表不具备的特点是 A 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C?不必事先估计存储空间 D.所需空间与其长度成正比 10. 若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一 个结点,则采用 D 存储方式最节省运算时间。 A.单链表B ?给出表头指针的单循环链表 C.双链表D ?带头结点 的双循环链表 11. 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 A.单链表B .静态链表 C.线性链表 D .顺序存储结构 12 .非空的循环单链表head的尾结点(由p所指向)满足C 。 A. p—>next 一NULL B. p — NULL C. p—>next == head D. p = = head 13 .在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。 A .p—> prior-> prior=s B .p—> prior-> n ext=s C.s —> prior—> n ext = s D.s —> prior—> prior = s 14 .栈和队列的共同点是C 。 A.都是先进后出 B .都是先进先出 C.只允许在端点处插入和删除元素 D .没有共同点

数据结构期末考试试题A卷(完成,不知对不对)

第 1 页,共 11 页 任课教师签名: 命题教师签名: 系主任签名: 主管院长签名: 湛江师范学院2007年-2008学年度第1学期 期末考试试题A 卷 (考试时间:120分钟) 考试科目: 数据结构 请将所有答案填写在答题卡上,交卷时请将所有试卷上交 一、单选题(每小题2分,共40分) 1.下列算法的时间复杂度是( B )。 for ( i=0; inext==L C L->next==p D p->next==NULL 4.4个元素进S 栈的顺序是A 、B 、C 、D ,进行两次Pop(S,x)操作后, 栈顶元素的值是( B )。 A A B B C C D D 5.经过下列栈的运算后GetTop(S)的值是( A )。 InitStack(s); Push(s,a); Push(s,b); Pop(s); A a B b C 1 D 2

6.栈的特点是(B )。 A 先进先出 B 后进先出 C 后进 后出 D 不进不出 7.经过下列运算后GetHead(Q)的值是( A ) InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b); A a B b C 1 D 2 8.一维数组的元素起始地址loc[0]=1000,元素长度为4,则loc[2]为( C )。 A 1000 B 1010 C 1008 D 1020 9.二叉树第i层上最多有( C )个结点。 A 2i B 2i-1 C 2i-1 D i2 10.满二叉树( A )二叉树。 A 一定是完全 B 不一定是完全 C 不是 D 不是完全 11.二叉树按二叉链表存储,每个结点包含三个域(lchild、data、rchild),若p指针指向二叉树的根结点,经过运算while ( p->rchild!=null ) p=p->rchild,则( A )。 A p指向二叉树的最右下方的结点 B p指向二叉树的 最左下方的结点 C p仍指向根结点 D p为null 12.在具有n个结点的完全二叉树中,结点i(2i

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查 《数据结构》试卷 (答案一律写在答题纸上,在本试卷上做答无效) 一、选择(每题1分,共10分) 1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D) A.O(0) B.O(1) C.O(n) D.O(n2) 2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D) A.543612 B.453126 C.346512 D.234156 3.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B ) A.8 B.9 C.10 D.11 4.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B ) A. m-n B.m-n-1 C.n+1 D.m+n 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B) A.9 B.11 C.15 D.不确定 6.下列哪一个方法可以判断出一个有向图是否有环。(A) A.深度优先遍历 B.拓扑排序 C.求最短路径 D.求关键路径 7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。 A.73 B.234 C.235 D.236 8.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B) A.(100,80,90,60,120,110,130) B.(100, 120, 110,130,80, 60,90) C.(100,60,80,90,120,110,130) D.(100,80, 60,90, 120, 130,110) 9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B ) A.选择排序 B.起泡排序 C.快速排序 D.插入排序 10.对线性表进行折半查找时,要求线性表必须(D) A.以顺序方式存储 B.以顺序方式存储,且数据元素有序

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

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.线索二叉树中,什么是线索,它是否唯一?可有根据什么顺序得到?

数据结构复习资料,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指数函数增长> 幂函数增长> 对数函数增长

杭师A试卷数据结构期末试卷答案

杭州师范大学国际服务工程学院2008-2009学年第二学期期末考试 《数据结构与算法分析》试卷(A ) 注意:请将答案填写在答题纸上。 一、选择(共30分,每小题3分,把最恰当的答案题号填到答题卷上) 1. 对于具有n 个顶点的连通图(连通的无向图), 其最少的边数目为 ( ). A. n B. n ( n – 1) / 2 C. n + 1 D. n – 1 2. 给定某二叉树的先序遍历序列为 ABDCEFHG ,中序遍历序列为 BDAFHEGC , 则该二叉树的后序遍历序列为 ( ). A. DBAHFGCE B. BDHFGECA C. DBHFGECA D. DBCFHEGA 3. 给定某整数序列为 {1,2,3,4,5,9,8,6,7}. 现要对其递增排序,则最快的排序算法为( ), 附助存储空间要求最多的排序算法为 ( ). A. 直接插入排序 B. 堆排序 C. 归并排序 D. 起泡排序 4. 将m 个元素存储在具有s 个单元的哈希表中,则其装填因子为 ( ). A. s + m B. m / s C. m * s D. m – s 5. 图的广度优先搜索与二叉树的 ( )相类似. A. 先序遍历 B. 中序遍历 C. 后序遍历 D.层次遍历 6. 在下列三种二叉树中, 对( )中的元素进行中序遍历结果得到的序列是有顺序的。. A. 堆(heap ) B. 二叉搜索树(binary search tree ) C.完全二叉树 7.下列各整数序列中( )不是堆. A. {100, 85, 98, 77, 80, 60, 82, 40, 20, 10, 66} B. {100, 98, 85, 82, 80, 77, 66, 60, 40, 20, 10} C. {10, 20, 40, 60, 66, 77, 80, 82, 85, 98, 100} D. {100, 85, 40, 77, 80, 60, 66, 98, 82, 10, 20}

数据结构期末复习总结超详细1

数据结构复习要点带答案 算法的五大特性:(有零个或多个输入)、(有一个或多个输出)、(有穷性)、(确定性)、(可行性)。 算法指的是()。 A 对特定问题求解步骤的一种描述,是指令的有限序列;算法分析的目的是(分析算法的效率以求改 进),算法分析的两个主要方面是(空间性能和时间性能)。 1.算法质量的标准:时间复杂度是测量一个算法优劣的重要标准。 时间复杂度的计算:设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(Ο(1)),若为n*log25n,则表示成数量级的形式为(Ο(nlog2n))。 【分析】:用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。 2.数据、数据元素、数据项的关系:(数据元素)是数据的基本单位,在计算机程序中通常作为一个整体 进行考虑和处理;(数据项)是数据的最小单位,(数据元素)是讨论数据结构时涉及的最小数据单位。 【分析】数据结构指的是数据元素以及数据元素之间的关系。 3.设有数据结构(D,R),其中D={1, 2, 3, 4, 5, 6},R={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)}。 试画出其逻辑结构图并指出属于何种结构。 【解答】其逻辑结构图如图1-3所示,它是一种图结构。 4.栈的特性:栈是限定仅在表尾进行插入和删除操作的线性表,允许插入和删除的一段叫做栈顶,另一 端叫做栈底,不含任何数据元素的栈叫做空栈。(栈)可作为实现递归函数调用的一种数据结构。 【分析】递归函数的调用和返回正好符合后进先出性。 栈的特点是先进后出,即:进去的早,出来的晚! 54321进栈,5在栈底,1在栈顶! 出一次栈,则栈顶的1先出来,2成为新的栈顶。 ABCD入栈,D成为新的栈顶。 全部出栈:D C B A 2 3 4 5 综上,所有元素退栈顺序为:1 D C B A 2 3 4 5 5.入栈:template V oid SeqStack::Push(T x) { if ( top==StackSize-1) throw “上溢”; top++; data[top]=x; } 6.出栈的指针的操作:template T SeqStack::Pop() { if ( top== -1) throw “下溢”; x=data[top--]; return x; }顺序栈基本操作时间复杂度为O(1).

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

一.是非题 (正确的打“√”,错误的打“×”。) 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’

数据结构期末考试试题含答案

2005年-2006学年第二学期“数据结构”考试试题(A) 姓名学号(序号)_ 答案隐藏班号 要求:所有的题目的解答均写在答题纸上(每张答题纸上要写清楚姓名、班号和学号),需写清楚题目的序号。每张答题纸都要写上姓名和序号。 一、单项选择题(每小题2分,共20分) 1.数据的运算a 。 A.效率与采用何种存储结构有关 B.是根据存储结构来定义的 C.有算术运算和关系运算两大类 D.必须用程序设计语言来描述 答:A。 2. 链表不具备的特点是 a 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C.不必事先估计存储空间 D.所需空间与其长度成正比 答:参见本节要点3。本题答案为:A。 3. 在顺序表中删除一个元素的时间复杂度为 c 。 A.O(1) B.O(log2n) C.O(n) D.O(n2) 答:C。 4.以下线性表的存储结构中具有随机存取功能的是 d 。 A. 不带头结点的单链表 B. 带头结点的单链表 C. 循环双链表 D. 顺序表 解 D。 5. 一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 c 。

A.edcba B.decba C.dceab D.abcde 答:C。 6. 循环队列qu的队空条件是 d 。 A. (qu.rear+1)%MaxSize==(qu.front+1)%MaxSize B. (qu.rear+1)%MaxSize==qu.front+1 C.(qu.rear+1)%MaxSize==qu.front D.qu.rear==qu.front 答:D。 7. 两个串相等必有串长度相等且 b 。 A.串的各位置字符任意 B.串中各位置字符均对应相等 C.两个串含有相同的字符 D.两个所含字符任意 答:B。 8. 用直接插入排序对下面四个序列进行递增排序,元素比较次数最少的是c 。 A.94,32,40,90,80,46,21,69 B.32,40,21,46,69,94,90, 80 C.21,32,46,40,80,69,90,94 D.90,69,80,46,21,32,94, 40 答:C。 9. 以下序列不是堆(大根或小根)的是 d 。 A.{100,85,98,77,80,60,82,40,20,10,66} B.{100,98,85,82,80, 77,66,60,40,20,10} C.{10,20,40,60,66,77,80,82,85,98,100} D.{100,85,40,77,80, 60,66,98,82,10,20}

数据结构期末复习题

一、单项选择题 1、在数据结构学科中,伪代码是(D ) A、描述算法且容易理解的一种语言 B、能够方便描述算法中的分支与循环等结构化语句 C、不能直接编译或解释执行 D、以上都正确 2、若进栈序列为1、2、 3、4,进栈过程中可以出栈,则以下不可能的出栈序列是(C) A、1、4、3、2 B、2、3、4、1 C、3、1、4、2 D、3、4、2、1 3、设语句x++的时间是单位时间,则以下语句的时间复杂度为(B)。 for(i=1; i<=n; i++) for(j=1; j<=n; j++) x++; A、O(1) B、O(n2) C、O(n) D、O(n3) 4、假定一个链表队列的队首和队尾指针分别用front和rear表示,每个结点的结构为: A、front = front–> next B、rear = rear–>next C、front–>next = rear ; rear = rear–>next D、front = front–>next ; front–>next = rear 5、向一个栈顶指针为hs的链栈中插入一个s 结点时,应执行(B)。 A、hs->next=s; B、s->next=hs; hs=s; C、s->next=hs->next; hs->next=s; D、s->next=hs; hs=hs->next; 6、对于顺序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数为(C)。 A、2 B、3 C、4 D、5 7、对一组数据(86,48,26,15,23)排序,数据的排列次序在排序过程中的变化为: ① 86 48 26 15 23 ② 15 48 26 86 23 ③ 15 23 26 86 48 ④ 15 23 26 48 86 这个排序过程采用的排序方法是( B )。 A、冒泡 B、选择 C、快速 D、插入 8、若根据查找表(23,44,36,48,52,73,64,58)建立哈希表,采用h(K)=K%7计算哈希地址,则哈希地址等于3的元素个数为(B)。 A、1 B、2 C、3 D、4 9、若一个元素序列基本有序,则选用(A )方法较快。 A、直接插入排序 B、简单选择排序 C、堆排序 D、快速排序 10、线性表采用链式存储时,其元素地址(D)。 A、必须是连续的 B、一定是不连续的 C、部分地址是连续的 D、连续与否均可 11、对一组数据(86,48,26,15,23)排序,数据的排列次序在排序过程中的变化为: ① 86 48 26 15 23 ② 15 48 26 86 23 ③ 15 23 26 86 48 ④ 15 23 26 48 86 这个排序过程采用的排序方法是( C )。 A、冒泡 B、选择 C、快速 D、插入 12、在数据结构中,从逻辑上可以把数据结构分为(C )。 A.动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 线性结构和非线性结构 D. 内部结构和外部结构 13、已知函数SubString(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数SCopy(s,t) 的功能为复制串t到s。若字符串S=”SCIENCESTUDY”,则调用函数SCopy(P,Sub(S,1,7))后得到( A )。 A.P=”SCIENCE” B.P=”STUDY C.S=”SCIENCE” D.S=”STUDY” 14、若将一个10×10阶的对称矩阵压缩存储到一个一维数组中,则该一维数组的大小应该是(A )。

数据结构期末考试试卷

最简单《数据结构》 期末考试试卷(A卷) 班级学号姓名成绩 (本卷需要草稿纸) 一、选择题(每题2分,共30分) 1.在以下的叙述中,正确的是( )。 A.线性表的顺序存储结构优于链表存储结构 B.线性表的顺序存储结构适用于频繁插入/删除数据元素的情况 C.线性表的链表存储结构适用于频繁插入/删除数据元素的情况 D.线性表的链表存储结构优于顺序存储结构 2.从表中任一结点出发,都能扫描整个表的是()。 A.单链表 B.顺序表 C.循环链表 D..静态链表 3.在一个长度为n的顺序存储的线性表中,向第i个元素(0≤i≤n-1)位置插入一个新元素时,需要从后向前依次后移( )个元素。 A. n-i B. n-i+1 C. n-i-1 D. i 4.若一个结点的引用为p,它的前驱结点的引用为q,则删除p的后继结点的操作为( )。 A. p=p.next.next B. p.next=p.next.next C. q.next=p.next D. q.next=q.next.next 5.设一数列的输入顺序为1,2,3,4,5,6,出栈操作不可能排成的输出序列为( )。 A.3,2,5,6,4,1 B.1,5,4,6,2,3 C.2,4,3,5,1,6 D.4,5,3,6,2,1 6.栈和队列的共同特点是( )。 A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 7.在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加( )。 A. 2 B. 1 C. 0 D. -1 8.对线性表进行二分查找时,要求线性表必须( ) A.以顺序方式存储 B.以顺序方式存储,且结点按关键字值有序排列 C.以链接方式存储 D.以链接方式存储,且结点按关键字值有序排列 9.下列各种结构的物理存储必须占用连续的存储空间的是 ( ) A.数组 B.栈 C.二叉树 D.链表 10. 有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,A11为第一元素,其存储地址为1,每个元素占1个地址空间,则A33地址为( ) A.13 B.33 C.18 D.40 11. 用二分查找法查找具有N个结点的顺序表时,查找每个结点的平均比较次数是( )

(完整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)。

数据结构期末考试试题答案详解

《数据结构》试题(100分) (供2005级信息管理与信息系统本科专业使用) 学号: 姓名: 座号: 系别: 年级: 专业: 总分合计人: 复核人: 说明:本试卷分为两部分,第I 卷(选择题和判断题)必须在“答题卡”上按规定要求填、涂;第II 卷直接在试卷上作答。不按规定答题、填涂,一律无效。 第I 卷 一、试题类型:单项选择题(每小题2分,共40分) (类型说明:在每小题列出的四个选项中只有一个选项是符合题目要求的,请选出正确选项并在“答题卡”的相应位置上涂黑。多涂、少涂、错误均无分。) 1. 算法分析的两个主要方面是: ( ) (A) 空间复杂性和时间复杂性 (B) 正确性和简明性 (C) 可读性和文档性 (D) 数据复杂性和程序复杂性 2. 计算机算法指的是: ( ) (A) 计算方法 (B) 排序方法 (C) 解决问题的有限运算序列 (D) 调度方法 3. 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称为:( ) (A )存储结构 (B )逻辑结构 (C )顺序存储结构 (D )链式存储结构 4.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 。 ( ) (A )110 (B )108 (C )100 (D )120 5. 链接存储的存储结构所占存储空间: ( ) (A )分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 (B )只有一部分,存放结点值 (C ) 只有一部分,存储表示结点间关系的指针 (D ) 分两部分,一部分存放结点值,另一部分存放结点所占单元数 6. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址: ( ) (A )必须是连续的 (B )部分地址必须是连续的 (C )一定是不连续的 (D )连续或不连续都可以

【精选资料】北京交通大学数据结构与算法期末考试参考答案

北京交通大学考试试题(A卷) 课程名称:数据结构与算法2011-2012学年第一学期出题教师:张勇 (请考生注意:(1)本试卷共有六道大题,(2)答案一律写在答题纸上,(3)试卷不得带出考场) 一、填空题(每空2分,共20分) 1. 在顺序表中访问任意一个元素的时间复杂度均为,因此顺序表也称为 的数据结构。 2.三维数组a[4][3][2](下标从0开始),假设a[0][0][0]的地址为50,数据以行序优先方式存储,每个元素的长度为2字节,则a[2][1][1]的地址是。 3. 直接插入排序用监视哨的作用是。 4. 已知广义表Ls=(a, (b, c), (d, e)), 运用head和tail函数取出Ls中的原子d的运算 是。 5.对有14个元素的有序表A[1..14]进行折半查找,当比较到A[4]时算法结束。被比较元素除A[4]外,还有。 6. 在AOV网中,顶点表示,边表示。 7. 有向图G可进行拓扑排序的判别条件是。 8. 若串S1=‘ABCDEFGHIJK’,S2=‘451223’,S3=‘####’,则执行 Substring(S1,Strlength(S3),Index(S2,‘12’,1))的结果是。 二、选择题(每空2分,共20分) 1.在下列存储形式中,哪一个不是树的存储形式?() A.双亲表示法B.孩子链表表示法 C.孩子兄弟表示法D.顺序存储表示法 2.查找n个元素的有序表时,最有效的查找方法是()。 A.顺序查找B.分块查找 C.折半查找D.二叉查找 3.将所示的s所指结点加到p所指结点之后,其语句应为()。

p (A) s->next=p+1 ; p->next=s; (B) (*p).next=s; (*s).next=(*p).next; (C) s->next=p->next ; p->next=s->next; (D) s->next=p->next ; p->next=s; 4. 在有向图的邻接表存储结构中,顶点v 在链表中出现的次数是( )。 A. 顶点v 的度 B. 顶点v 的出度 C. 顶点v 的入度 D. 依附于顶点v 的边数 5. 算法的时间复杂度为O (nlog 2n )、空间复杂度为O(1)的排序算法是( )。 A. 堆排序 B. 快速排序 C. 归并排序 D.直接选择 6. 设矩阵A 是一个对称矩阵,为了节省存储,将其下三角部分(如右图所示)按行序存放在一维数组B[ 1, n(n-1)/2 ]中,对下三角部分中任一元素ai,j(i ≤j), 在一维数组B 中下标k 的值是( ): A.i(i-1)/2+j-1 B.i(i-1)/2+j C.i(i+1)/2+j-1 D.i(i+1)/2+j 7. 由一个长度为11的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下,查找成功的平均查找长度是( )。 A .29/11 B. 31/11 C. 33/11 D.35/11 8. AVL 树是一种平衡的二叉排序树,树中任一结点的( )。 A. 左、右子树的高度均相同 B. 左、右子树高度差的绝对值不超过1 C. 左子树的高度均大于右子树的高度 D. 左子树的高度均小于右子树的高度 9. 下列四种排序方法中,不稳定的方法是( )。 A. 直接插入排序 B. 冒泡排序 C. 归并排序 D. 堆排序 10. 设树的度为4,其中度为1,2,3,4的结点个数分别为4, 2, ,1, 1, 则T 中的叶子数为( )。 A .5 B .6 C .7 D .8 三、 判断题(10分,每小题1分) 1. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( ) 2. 数组不适合作任何二叉树的存储结构。( ) ????? ?????????=n n n n a a a a a a A ,2,1,2,21,21,1

数据结构期末复习资料[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) 第三章

数据结构期末考试试题及答案资料

贵州大学理学院数学系信息与计算科学专业 《数据结构》期末考试试题及答案 (2003-2004学年第2学期) 一、单项选择题 1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。 (A)、正确性(B). 可行性(C). 健壮性(D). 输入性 2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。 for(i=n-1;i>=0;i--) for(j=0;jnext; Q.front->next=p->next; (C)、p=Q.rear->next; p->next= Q.rear->next; (D)、p=Q->next; Q->next=p->next; 9. Huffman树的带权路径长度WPL等于() (A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和 (C)、各叶子结点的带权路径长度之和(D)、根结点的值 10.线索二叉链表是利用()域存储后继结点的地址。

相关文档
最新文档