数据结构__河北工业大学__内部

数据结构__河北工业大学__内部
数据结构__河北工业大学__内部

第一二章 一填空

1. 衡量算法效率的两个重要指标称为算法的

_时间复杂度_和空间复杂度 __________

2. 一个算法应具有_有穷性,确定性,可行性,输入和 输岀 这五个特性。

3. 线性表的长度是指_线性表中元素的个数_。

4. 在线性表的顺序存储中,元素之间的逻辑关系是通过

—元素的存储(物理)地址—决定的;在线性表的

链接存储中,元素之间的逻辑关系是通过—指向下一个元素的指针 决定的。

5在双向链表中,每个结点包含两个指针域,一个指向 前驱 结点,另一个指向—后继__结点。

二、判断题 1.

线性表的逻辑顺序与存储顺序总是一致的。 (FALSE) 2?顺序存储的线性表可以按序号随机存取。

仃RUE)

3.

在线性表的顺序存储结

构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。

(FALSE

4?在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。 (TRUE

5.

在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。

(TRUE

6?线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。 (TRUE 三、单选题(请从下

列A ,B, C, D 选项中选择一项) 1 .线性表是()。

(A) 一个有限序列,可以为空; (B) —个有限序列,不能为空; (C) 一个无限序列,可以为空; (D) —个无序序列,不能为空。 答:A

2?对顺序存储的线性表,设其长度为 均要移动表中的()个元素。 (A) n/2 (B)

(n+1) /2

(C) (n

答:A

3?线性表采用链式存储时,其地址

()

(A) 必须是连续的;(B)部分地址必须是连续的; (C) 一定是不连续的;(D)连续与否均可以。 答:D

4?用链表表示线性表的优点是 ()。

(A) 便于随机存取

(B) 花费的存储空间较顺序存储少 (C) 便于插入和删除

(D) 数据元素的物理顺序与逻辑顺序相同 答:C

5. 某链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素, 则采用()存储方

式最节省运算时间。 (A) 单链表 (B) 双链表 (C) 单循环链表

(D) 带头结点的双循环链表 答:D

6. 循环链表的主要优点是() 。

(A)不再需要头指针了

n ,在任何位置上插入或删除操作都是等概率的。插入一个元素时平

-1)/2

(D) n

(B)已知某个结点的位置后,能够容易找到他的直接前趋

(C)在进行插入、删除运算时,能更好的保证链表不断开

(D)从表中的任意结点出发都能扫描到整个链表

答:D

7.单链表中,增加一个头结点的目的是为了()。

(A)使单链表至少有一个结点(B)标识表结点中首结点的位置

(C)方便运算的实现(D)说明单链表是线性表的链式存储

答:C

8.若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省运算时间()。

(A)单链表(B)顺序表(C)双链表(D)单循环链表

答:B

四、简答题

1何时选用顺序表、何时选用链表作为线性表的存储结构为宜?

答:在实际应用中,应根据具体问题的要求和性质来选择顺序表或链表作为线性表的存储结构,通常有以下几方面的考虑:

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

2.基于时间的考虑。若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构

为宜;反之,若需要对线性表进行频繁地插入或删除等的操作时,宜采用链表做存储结构。并且,若链

表的插入和删除主要发生在表的首尾两端,则采用尾指针表示的单循环链表为宜。

2在顺序表中插入和删除一个结点需平均移动多少个结点?具体的移动次数取决于哪两个因素?

答:在等概率情况下,顺序表中插入一个结点需平均移动n/2个结点。删除一个结点需平均移动(n-1)/2

个结点。具体的移动次数取决于顺序表的长度n以及需插入或删除的位置i。i越接近n则所需移动的结点

数越少。

3为什么在单循环链表中设置尾指针比设置头指针更好?

答:尾指针是指向终端结点的指针,用它来表示单循环链表可以使得查找链表的开始结点和终端结点都很

方便,设一带头结点的单循环链表,其尾指针为rear,则开始结点和终端结点的位置分别是 rear->next->next 和rear,查找时间都是 0(1)。

若用头指针来表示该链表,则查找终端结点的时间为O(n)。

五、分别设计算法,实现线性表的顺序存储结构和链式存储结构的原地置逆。

第三章

一单项选择题

1.栈中元素的进出原则是(B )

A.先进先出 E.后进先出 C.栈空则进 D.栈满则出

2.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2, p3,…,pn,若p仁n,则pi为(C)

A. i

B. n=i

C. n-i+1

D.不确定

解释:当p仁n,即n是最先出栈的,根据栈的原理,n必定是最后入栈的(事实上题目已经表明了),那么输入顺序必定是1,2, 3,…,n,则出栈的序列是n,…,3,2, 1。

(若不要求顺序出栈,则输出序列不确定)

3.判定一个栈ST (最多元素为 m0为空的条件是(B )

A.ST->topv>0

B. ST->top= =0

C. ST->topv>mO

D. ST->top= =m0

4.在作进栈运算时,应先判别栈是否(①B ),在作退栈运算时应先判别栈是否(②A )。当栈中元素为

n个,作进栈运算时发生上溢,则说明该栈的最大容量为(③B)。

为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的

(④D )分别设在这片内存空间的两端,这样,当(⑤C )时,才产生上

溢。

①,②:A. 空 B. 满 C. 上溢 D. 下溢

③: A. n-1 B. n C. n+1 D. n/2

④: A. 长度 B. 深度 C . 栈顶 D. 栈底

⑤:A.两个栈的栈顶同时到达栈空间的中心点.

B.其中一个栈的栈顶到达栈空间的中心点.

C.两个栈的栈顶在栈空间的某一位置相遇.

D.两个栈均不空,且一个栈的栈顶到达另一个栈的栈底

5.某堆栈的输入序列为 a,b,c,d,下面的四个序列中,不可能是它的输出序列的是( D )。

A. a ,c, b, d

B. b,c ,d,a

C. c,d , b,a

D. d,c ,a, b

6.若栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i个栈(i =1,2)栈顶,栈1的

底在v[1],栈2的底在V[m],则栈满的条件是(B )。

A. |top[2]-top[1]|=0

B. top[1]+1=top[2]

C. top[1]+top[2]=m

D. top[1]=top[2]

7.设计一个判别表达式中左,右括号是否配对岀现的算法,采用( D )数据结构最佳。

A.线性表的顺序存储结构

B. 队列

C. 线性表的链式存储结构

D. 栈

8.用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时(A )。

A.仅修改队头指针

B. 仅修改队尾指针

C.队头、队尾指针都要修改

D.队头,队尾指针都可能要修改

9.递归过程或函数调用时,处理参数及返回地址,要用一种称为( C )的数据结构。

A.队列 B .多维数组 C .栈 D. 线性表

10.若用一个大小为6的数组来实现循环队列,且当前 rear和front的值分别为0和3,当从队列中删除

一个元素,再加入两个元素后,rear和front的值分别为多少?( B )

A. 1 和 5

B. 2 和 4

C. 4 和 2

D. 5 和 1

二填空题

1.线性表、栈和队列都是线性结构,可以在线性表的任意位置插入和删除元素;对于栈

只能在栈顶插入和删除元素;对于队列只能在队尾插入元素,在队头删除元素。

2.栈是一种特殊的线性表,允许插入和删除运算的一端称为栈顶。不允许插入和删除运算的一端称为栈底。

3.一个栈的输入序列是:1, 2, 3则不可能的栈输出序列是_3 1 2__ 。

4.循环队列的引入,目的是为了克服_队列的假溢出。

5.用下标0开始的N元数组实现循环队列时,为实现下标变量M加1后在数组有效下标范围内循环,可采用的表达式是: M=_(M+1)%N _______

6.队列的特点是_先进先岀_______ 。

7?表达式求值是_栈________ 应用的一个典型例子。

第四五章

、填充题

1、 一个串中任意个 ______ 的字符组成的子序列称为该串的子串。

连续

2、 串的静态存储结构中的两种不同的存储方式分别是 _____________ 格式和 __________ 格式。

定长堆

3、 两个串的相等,是指两个两串的 __________ 相等, ___________________ 相同。

长度

对应位置的字符

4、 已知二维数组 A 有m 行n 列,采用行优先方式存储,每个数据元素占

k 个存储单元,并且第一个

元素的存储地址是 L0C(A[1,1]),则数据元素 A[i,j] 的地址是 ____________________________ 。

L0C(A[1,1])+(n*(i-1)+(j-1))*k

5、 有一个10阶的对称矩阵,采用以行优先的压缩存储方式,已知元素 A[1,1]的地址为1,则元素

A[8,5]的地址是 __________ ,元素A[5,8]的地址是 ____________ 。

33 33

6、 广义表(a,(a,b),d,e,((i,j),k)) 的长度是 ________ ,深度是 _______ 。

5 3

二、单选题

、给出字符串A=' abcd',它的子串个数是

、10 、14

B=' ABCdE ,它们的关系是

、B 串等于A 串 、B 串是A 串的子串

、设有两个串A 和B,求B 在A 中首次出现的位置的操作称作 _ A 、连接 B 、

求串长 C 、模式匹配

D

、求子串

、设串S1=' ABCDEF'G 串S2=' PQRST ,函数con(x,y)返回x 和y 串的连接串,函数subs(s,i,j) 返

s 的从序号i 的字符开始的j 个字符组成的子串,而函数 len(s)则返回串s 的长度。那么,表达式 的结果串是

、BCDEFG

、BCPQRST

、数组通常具有的两种基本操作是 A 、建立与删除 C

、查找与修改

、在数组A 中,每个数据元素 10,从首地址SA 开始连续存放在存储器中,若该数组按行优先存放时,数据元素

、SA+144

C 、SA+225

D

、SA+222

D SA+(10*(8-1)+(5-1))*3

、11

给出两个串A=' ABCDE ,

、B 串大于A 串 、B 串小于A 串

回串 con(subs(S1,2,len(S2)),subs(S1,len(S2),2)) 、BCDEF 、BCDEFEF

、索引与修改 、查找与索引

A[i,j]的长度为 3个字节,数组A 的行下标i 从1到8,而列下标j 从

A[8,5]的起始地址

、SA+141

7.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,an为第一元素,其存储地址为1,

每个元素占一个地址空间,则a85的地址为( )

A. 13

B. 33

C. 18

D. 40

B =i*(i-1)/2+j (i>=j)

8.若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维

数组B : 1..(n(n+1))/2 ]中,则在B中确定a

(i

d

A. i*(i-1)/2+j

B. j*(j-1)/2+i

C. i*(i+1)/2+j

D. j*(j+1)/2+I

B

9.对稀疏矩阵进行压缩存储目的是( )

A.便于进行矩阵运算 B ?便于输入和输岀 C ?节省存储空间 D ?降低运算的时间复杂度

C

11.已知广义表LS= ((a,b,c),(d,e,f)), 运用head和tail函数取出LS中原子e的运算是()。

A. head(tail(LS))

B. tail(head(LS))

C. head(tail(head(tail(LS)))

D. head(tail(tail(head(LS))))

C

12.广义表(a,(b,c),d,e )的表头为( )。

A. a

B. a,(b,c)

C. (a,(b,c))

D. (a)

第六章

一、填空题

1.不相交的树的聚集称之为森林。

2.从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是_树可采用孩子-

兄弟链表(二叉链表)做存储结构,目的是利用二叉树的已有算法解决树的有关问题。

3.深度为k的完全二叉树至少有2_二个结点。至多有2 k-1个结点,若按自上而下,从左到右次序给结点编号(从

1开始),则编号最小的叶子结点的编号是2 k-2+1o

4.在一棵二叉树中,度为零的结点的个数为n。,度为2的结点的个数为n 2,则有 n o= n 2+1 °

5.一棵二叉树的第i ( i > 1 )层最多有2 i-1个结点;一棵有n ( n>0 )个结点的满二叉树共有(n+1) /2个叶子和(n-1 ) /2个非终端结点。

6.现有按中序遍历二叉树的结果为abc,问有5种不同形态的二叉树可以得到这一遍历结果。

7.哈夫曼树是带权路径最小的二叉树。

8.前缀编码是指任一个字符的编码都不是另一个字符编码的前缀的一种编码方法,是设计不等长

编码的前提。

9.以给定的数据集合{4,5, 6,7,10,12,18}为结点权值构造的Huffman树的加权路径长度是 _____

165 _______ 。

10.树被定义为连通而不具有回路的(无向)图。

11.若一棵根树的每个结点最多只有两个孩子,且孩子又有左、右之分,次序不能颠倒,

则称此根树为二叉树__________ 。

12.高度为k,且有 ______________ 个结点的二叉树称为 _______ 二叉树。

2 k-1 满

13.带权路径长度最小的二叉树称为最优二叉树,它又被称为__________________ 树。

Huffman

14.在一棵根树中,树根是___________ 为零的结点,而_________ 为零的结点是________ 结点。

入度岀度树叶

15. Huffman树中,结点的带权路径长度是指由到之间的路径长度与结点权值的乘积。

结点树根

16.满二叉树是指高度为k,且有个结点的二叉树。二叉树的每一层i上,最多有

个结点。

2 k-1 2

二、单选题

1.具有10个叶结点的二叉树中有(B) 个度为2的结点。

(A)8 (B)9 (C)10 (D)11

2.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用_ ( 3)次序的遍历实现编号。

(1)先序(2)中序

(3)后序(4)从根开始按层遍历

3.由2、3、4、7作为结点权值构造的树的加权路径长度_B_ _________ 。

A 、33

B 、30

C 、36

D 、40

4.高度为6的满二叉树,总共有的结点数是 B 。

A 、15

B 、63

C 、20

D 、25

5.下面描述根树转换成二叉树的特性中,正确的是_C _____________ 。

A 、根树转换成的二叉树是唯一的,二叉树的根结点有左、右孩子

B 、根树转换成的二叉树是不唯一的,二叉

树的根结点只有左孩子 C 、根树转换成的二叉树是唯一的,二叉树的根结点只有左孩子。

D 、根树转换成的二叉树是不唯一的,二叉树的根结点有左、右孩子

6.如图所示的4棵二叉树中,不是顺序二叉树的是。

A

O B 、O

O O O O

O O O O O O

C 、O

D 、O

O O O O

O O O O

C

7.某二叉树先序遍历的结点序列是abdgcefh,中序遍历的结点序列是dgbaechf,则其后序遍历的结点序列

是 D 。

A bdgcefha

B 、gdbecfha

C 、b dgaechf

D 、gdbehfca

8.已知二叉树按中序遍历所得到的结点序列为DCBGEAHFIJ K按后序遍历所得到的结点序列为

DCEGBFHKJ,按先序遍历所得到的结点序列为ABCDGEIHFJK 。

9.设n, m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是 C

A 、n在m右方

B 、n是m祖先

C 、n在m左方

D 、n是m子孙

10.二叉树第i层结点的结点个数最多是(设根的层数为1) : A

任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序

二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面,这种说法

23. 实现任意二叉树的后序遍历的非递归算法而不使用栈结构,最佳方案是二叉树采用 _C ―储结构。

A.二叉链表

B.广义表存储结构

C.三叉链表

D.顺序存储结构 24. 在线索化二叉树中,t 所指结点没有左子树的充要条件是

=

B___。

A. t —> left=NULL

B. t —> ltag=1

C. t —> ltag=1 且 t — > left=NULL

D.以上都不对

25. 二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索,这种说法 _B___。A.正

B.错误

26. 树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和 后序遍历。这里,我们把由树转化得到的二叉树叫做这棵数对应的二叉树。结论 _A_是正确的。

A. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同

B. 树的后根遍历序列与其对应的二叉树的后序遍历序列相同

C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同

D. 以上都不对 第七章.第7章图 一、选择题

A ) 21

)2-1 C) 2i D ) 2i-1

11. 12. 树的后根遍历序列等同于该树对应的二叉树

的: )先序序列 B

)中序序列

树最适合用来表示 C

)后序序列

13. 14. 15. A.有序数据元素

B.无序数据元素

C.元素之间具有分支层次关系的数据

由于二叉树中每个结点的度最大为 2, A.

正确

假定在一棵二叉树中,双分支结点数为 .15

B . 16

D.元素之间无联系的数据

所以二叉树是一种特殊的树,这种说法

_B.

B.错误

15,单分支结点数为 30个,则叶子结点数为

D . 47 B 个。

按照二叉树的定义,具有 3个结点的不同形状的二叉树有

C 种。 A. 3

B. 4

C. 5

D. 6

16.深度为5的二叉树至多有 C 个结点。

A. 16

B. 32

C. 31

D. 10 17.对一个满二叉树,m 个树叶,n 个结点,深度为 h,则 _D. A.n=h+m

B. h+m=2n

C. m=h-1

D. n=2 h -1

18. 19. C.不能确定

如果某二叉树的前根次序遍历结果为 stuwv ,中序遍历为uwtvs , A. 不发生改变 B.发生改变 D.以上都不对 那么该二叉树的后序为

C A. uwvts B. vwuts C. wuvts D. wutsv

20.

A. 21. 正确 在一非空二叉树的中序遍历序列中,根结点的右边

A.只有右子树上的所有结点

B.错误

B.只有右子树上的部分结点

C.只有左子树上的部分结点

D.只有左子树上的所有结点

22. 已知某二叉树的后序遍历序列是

dabec ,中序遍历序列是 debac ,它的前序遍历序列是 __D.

A. acbed

B. decab

C.deabc

D. cedba

1 ?对于一个具有n个顶点和e条边的有向图,在用邻接表表示图时,拓扑排序算法时间复杂度为( )

A)0(n) B ) O(n+e) C ) O(n*n) D ) O(n*n*n)

【答案】B

2 ?设无向图的顶点个数为n,则该图最多有( )条边。

A) n-1 B) n(n-1)/2 C ) n(n+1)/2 D ) n2

【答案】B

3?连通分量指的是( )

A)无向图中的极小连通子图

B)无向图中的极大连通子图

C)有向图中的极小连通子图

D)有向图中的极大连通子图

【答案】B

4. n个结点的完全有向图含有边的数目( )

A) n*n B ) n (n+1) C) n/2 D) n* (n-1 )

【答案】D

5 ?关键路径是( )

A)AOE网中从源点到汇点的最长路径

B)AOE网中从源点到汇点的最短路径

C)AOV网中从源点到汇点的最长路径

D)AOV网中从源点到汇点的最短路径

【答案】A

6.有向图中一个顶点的度是该顶点的( )

A)入度 B ) 出度 C ) 入度与出度之和 D )(入度+出度)/2

【答案】C

7?有e条边的无向图,若用邻接表存储,表中有( )边结点。

A ) e

B ) 2e

C ) e-1

D ) 2(e-1)

【答案】B

8实现图的广度优先搜索算法需使用的辅助数据结构为( )

A ) 栈

B ) 队列

C ) 二叉树

D ) 树

【答案】B

9 ?实现图的非递归深度优先搜索算法需使用的辅助数据结构为( )

A ) 栈

B ) 队列

C ) 二叉树

D ) 树

【答案】A

10.存储无向图的邻接矩阵一定是一个( )

A )上三角矩阵

B )稀疏矩阵

C )对称矩阵

D )对角矩阵

【答案】C

11 ?在一个有向图中所有顶点的入度之和等于出度之和的 ( )倍

A ) 1/2 B) 1 C) 2 D) 4

【答案】B

12.在图采用邻接表存储时,求最小生成树的Prim 算法的时间复杂度为( )

A) O(n) B ) O(n+e) C ) O(n 2) D ) O(n3)

【答案】B

13.下列关于AOE网的叙述中,不正确的是( )

A)关键活动不按期完成就会影响整个工程的完成时间

B)任何一个关键活动提前完成,那么整个工程将会提前完成

C)所有的关键活动提前完成,那么整个工程将会提前完成

D)某些关键活动提前完成,那么整个工程将会提前完成

【答案】B

14?具有10个顶点的无向图至少有多少条边才能保证连通( )

A) 9 B) 10 C) 11 D) 12

【答案】A

15.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )

2 2

A) e B) 2e C) n -e D) n -2e

【答案】D

16.对于一个具有n个顶点和e条边的无向图,如果采用邻接表来表示,则其表头向量的大小为 _______________

A 、n

B 、n+1

C 、n-1

D 、n+e

【答案】A

二、填空题

1?无向图中所有顶点的度数之和等于所有边数的___________________ 倍。

【答案】2

具有n个顶点的无向完全图中包含有条边,具有n个顶点的有向完全图中包含有条边。

【答案】(1) n(n-1)/2 (2) n(n-1)

2. _________________________________________________________________ —个具有n个顶点的无向图中,要连通所有顶点则至少需要______________________________________________ 条边。

【答案】n-1

5?对用邻接矩阵表示的图进行任一种遍历时,其时间复杂度为____________________ ,对用邻接表表示的图进行

任一种遍历时,其时间复杂度为_________________ 。

【答案】(1) O(n2) ( 2) O(n+e)

6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别为

______________ 和______________ 条。

【答案】(1) e (2) 2e

7.在有向图的邻接表和逆邻接表表示中,每个顶点的边链表中分别链接着该顶点的所有______________ 和______________ 结点。

【答案】(1)岀边(2) 入边

8 对于一个具有n个顶点和e条边的无向图,当分别采用邻接矩阵、邻接表表示时,求任一顶点度数的时间复杂度依次为___________________________ 和 ______________ 。

【答案】(1) O(n) (2) O(e)

9. _________________________________________________________________________________ 对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为________________________________ 和

【答案】(1) n (2) n-1

10. _____________________________________________________ Prim算法和Kruscal算法的时间复杂度分别为___________________________________________________________ 和_______________ 。

【答案】(1) O(n2) (2) O(eloge)

11.假设图G中含有n个顶点,e条边,且知每个顶点的度数为 d ,则它们三者之间满足的关系

为:____________ 。

【答案】 e=1/2 刀d i

12.我们把图中所有顶点加上遍历时经过的所有边构成的子图称为 _________________ 。

【答案】生成树

13、有n个顶点的无向图,其边数最大可达________________ ,像这样的有最大边数的无向图通常被称

为__________________ 。

【答案】n(n-1)/2 完全无向图

14、树被定义为连通而不具有的(无向)图。

【答案】回路

15、对于一个图G的遍历,通常有两种方法,它们分别是________________ 和_______________ 。

【答案】深度优先法广度优先法

16、AOV网中,结点表示活动,边表示活动的先后顺序,AOE网中,结点表示,边表

示活动.

第九章

一、填充题

1、折半查找法适合于_______________ 的数据序列。

有序

2、查找表的两种基本类型分别是_________________ 和____________________ 。

静态查找表动态查找表

3、 Hash表查找要研究的两个主要问题分别是_____________ 和___________ 。

均匀性冲突的解决

4、在各种查找方法中,平均查找长度与结点个数n无关的查找方法是__________________ 。

哈希表查找法

5、折半查找的存储结构仅限于______________ ,而且是_______________ 。

顺序存储结构有序的

6、在哈希函数 H( key) =key MOD p中,p应取__________________ 。

素数

7、假设我们在有20个数据元素的有序线性表上实施折半查找,则比较五次查找成功的结点数

为______ ,平均查找长度为________ 。

5 3.7( 可以画出折半查找判定树)

8、在哈希表存储中,装填因子的值越大,则____________________________ ,反之装填因子的值越小,

则___________________________________ 。

存取元素时发生冲突的可能性就越大存取元素时发生冲突的可能性就越小

二、单选题

1、对个结点的线性表进行查找,用顺序查找法查找的时间复杂度为_________________ 。

A、O(n2) B 、O(nlog 2n)

C、O(n) D 、O(log 2n)

C

2 、对n个结点的线性表进行查找,用折半查找法查找的时间复杂度为__________________ 。

A 、O(log 2n)

B 、O(n)

C 、O(n2)

D 、O(nlog 2n)

A

3、折半查找不成功时,指针Low和High的关系是______________ 。

A 、LowvHigh

B 、Low>High

C 、Low与 High 无关

D 、Low=High

B

4、设A是一个包含有10个数据元素的有序数组,如果我们利用折半查找法在A中查找任意的数据元素 X,假定在确定目标元素是否等于、小于或大于A[i]时仅需比较一次。则平均的查找成功时间是_______________

A 、1.6

B 、4.2

C 、5.5

D 、2.9

D

5、用Hash函数hash=key mod size 和线性探测再散列法来将关键字37, 38, 72,48,98, 56,11

装入下标范围为0到6的Hash表中,则该表中各关键字的次序为。

A 、 72,11, 37, 38, 56, 98, 48

B 、 11, 48, 37,38,72, 98, 56

C 、 98,11, 37, 38, 72, 56, 48

D 、 98, 56, 37,38,72, 11, 48

D

6、对线性表进行折半查找时,要求线性表必须_________________ 。

A 、以顺序方式存储,且结点按关键字有序

B 、以顺序方式存储

C 、以链表方式存储,且结点按关键字有序

D 、以链表方式存储

A

7、有一个有序表为 1,3,9,12, 32, 41,45,62,75,77, 82, 95,100,当以折半法查找值为 82 的数据元素时,查找成功的比较次数是_____________________________ 。

A 、2

B 、4

C 、11

D 、3

B

第十章

一、填充题

1、按排序操作中所涉及的存储器的不同,可以把排序分成________________ 和________________ 两大类<

内部排序外部排序

2、主关键字是可以________ 地标识一个数据元素的关键字。

唯一

3、希尔排序是属于插入排序的一种类型,它又被称为_______________________ 排序。

缩小增量

4、次关键字是用以标识_________ 数据元素的关键字。

多个

5、按关键字与排序结果的关系,可以把排序方法分成_______________ 和 ______________ 两类。

稳定排序非稳定排序

6、在直接插入排序、希尔排序、直接选择排序、堆排序、快速排序和基数排序中,需要内存量最大

的是________________ 。

基数排序

7、在堆排序和快速排序中,如果数据元素的原始序列接近正序或反序,则选用___________ 最好,

如果数据元素的原始序列无序,则最好选用____________________ 。

堆排序快速排序

8、对于由n个数据元素构成的序列实施冒泡排序时,最少的比较次数是________________ 。冒泡排序的结

束条件是_____________________________ 。

n-1 刚做完的一趟排序没有交换元素

9、对于由n个数据元素构成的序列实施冒泡排序时,数据元素的最少交换次数是___________,此情况说明该数据元素序列是______________________ 。

0 已按排序要求有序的

二、单选题(每题2分,共24分)

、如果采用直接选择排序法来排序一个长度为

5,且已按相反顺序排序的数组,共需的比较次

6 、现有一待排序列为 49, 38, 65, 97, 76, 13, 经过一趟快速排序后的结果序列是

数是 、有一组随机数 25, 84, 、15 、10 21, 47,15, 27,68,35,20,现在采用某种算法对它们进行排序,具

体过程如下: (1) 25 84 21 47 15 27 68 35 20

(2) 20 15 21 25 47 27 68 35 84

(3) 15 20 21 25 35 27 47 68 84

15 20 21 (4) 请根据以上情况,判断所用的排序方法是 、直接选择排序 、冒泡排序 25 27 35 47 68

84

、快速排序 、Shall 排序 、在所有学过的排序方法中,关键字比较次数与记录的初始排列次序无关的

是 、直接选择排序 、冒泡排序 、直接插入排序 、Shell 排序 4、设有 1000个无序的数据元素,希望用最快的速度挑选岀其中前 10个最大的元素,最好选用的排序 方法是 、冒泡排序 、基数排序 、堆排序 、快速排序 5 、在待排兀素序列基本有序的前提下,下面给出的几种排序方法效率最咼的是 、直接选择排

序 、直接插入排序 、归并排序

、快速排序

、27, 38, 65, 97, 76, 13, 49, 50 、27, 38, 49, 97, 76, 13, 65, 50 、27, 38, 13, 49, 76, 97, 65, 50 、27, 38, 13, 97, 76, 49, 65, 50

7、在下面给岀的几种排序方法中,从未排序之序列中依次取岀元素与已经排好的序列(开始为空)中 的元素进行比较以确定其在已排序列中的位置的排序方法是 。 、冒泡排序

、希尔排序 、快速排序

、直接插入排序 8 、在下面给岀的几种排序方法中,从未排序之序列中挑选元素,并将其依次放入已经排好的序列(开 始为空)的一端的排序方法是

、冒泡排序

、希尔排序 、直接选择排序

、直接插入排序

9、在下面给岀的几种排序方法中,要求辅存空间最大的排序方法是

27, 50,如果以第一个数据元素 49为支撑元素,在

10、下面哪一种情况不利于发挥快速排序的优势

D

11 、下面哪一种情况不利于发挥堆排序的优势

A 、待排序的数据量很大

B

C 、待排序的数据中有的数值很大

B

12、下面哪一种情况不利于发挥基数排序的优势

A 、待排序的数据量很大

B

C

13 、在下面给岀的几种排序方法中,要求辅存空间最小的排序方法是

A

、堆排序

B 、基数排序

C 、快速排序 D

、归并排序

A

、快速排序

、归并排序 C

、直接选择排序

D

、直接插入排序

A 、待排序的数据量很大

B

、待排序的数据相同率高 C

、待排序的数据中有的数值很大

D

、待排序的数据基本有序

C 、待排序的数据中有的数值很大

D

、待排序的数据相同率高

、待排序的数据量小 D

、待排序的数据相同率高

、待排序的数据基本有序

学生成绩查询系统

第一章绪论 1.1课题的项目背景 在学校,尤其是在各大职业中专院校,所面对的数据是众多的,而且复杂繁琐。其中学生信息是学校的一项重要的数据资源,学生信息管理也是学校的一项常规性的重要工作。但是在实际情况中,由于学生信息涉及到学校的各个科系,是比较复杂的。长期以来,学生信息管理都是依赖人工进行,面对如此众多的学生信息,其工作量可想而知。对学生信息使用人工管理,不仅仅浪费了大量的人力物力,而且由于人工管理存在大力量的不可控因素,造成了学生信息管理的某些不规范,使得学生信息管理陷入“事半功倍”的地步。 1.2课题的现实意义 学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。 运用学生成绩管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化,决策科学化,办公自动化的国家。 在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责。

河北工业大学图书馆认识实习

图书馆地基工程 一、实习时间 2014年5月21日 二、实习地点 河北工业大学北辰校区在建图书馆 三、实习目的 对专业知识初步、直观的了解。对理论知识进行扩充。通过对实际在建建筑物的地基处理的认识,为以后专业学习起到铺垫的作用! 四、实习内容 早上我们在校在建图书馆工地入口集合,首先我们了解了一下校图书馆的基本信息。图书馆的建筑面积:44974m2;其采用的结构形式是框架结构;图书馆是由同济大学建筑设计研究院设计的;施工是天津建工集团二公司进行的;图书馆主楼地下一层,地上八层,最高40.5m,最大跨度25.2m,裙楼地上一层,高度5.1m,一层地板面距地面0.15m。接下来老师带领我们进入施工工地,对图书馆相关信息又进行了补充。图书馆地下工程有人防和设备间,其中有面积3367m2为人防,平时用于机动车停车场,战时将用于人员的掩护部,抗力级别为核六级,常规六级,其防化级别为两级。 工地正在进行的是图书馆 地基的处理,对此老师进行了详 细的讲解。由于天津属于沿海地 区,地下水位相当浅,所以在基 坑开挖之前首先要做的就是降 低地下水位,根据国标的规定, 地下水位只有降低至最低部下 0.5m时,才能开挖基坑。对于基 坑降水的方法主要有水沟加集 水坑和井点降水两种,但井点降 水适合砂土、地下水位较高的情 况。所以,图书馆工程采用了井 点降水法。井点降水法:在土方 开挖前,在基坑四周埋设一定数 量的滤水管(井),利用抽水设备抽水使所挖的土始终保持干燥状态的方法。

降 水达标 后进行 基础施 工,基础 施工前 必须进 行地质 勘探和 了解地 下管线 情况,根据土质情况和基础深度编制专项施工方案。施工方案应与施工现场实际相符,能指导实际施工。由于校图书馆所在地方周围空旷,考虑经济、环境等各方面因素之后,采用了放坡开挖,而且采用的是二级放坡。(放坡开挖:适用于周围场地开阔,周围无重要建筑物,只要求稳定,位移控制无严格要求,价钱最便宜,回填土方较大。)采用放坡开挖后,要对边坡进行防护,采用的是主动防护系统是以钢丝绳网为主的各类柔性网覆盖包裹在所需防护斜坡或岩石上,以限制坡面岩石土体的风化剥落或破坏以及危岩崩塌(加固作用),或将落石控制于一定范围内运动(围护作用)。坡面防护常用的措施有灰浆或三合土等抹面、喷浆、喷混凝土、浆砌片石护墙、锚喷护坡、锚喷网护坡等。图书馆工程中采用的是锚喷网护的方式! 图书馆主楼采用桩筏基础(桩筏基础:桩基和筏板基础的合称,桩基不是结构,是人工地基,而筏板是结构的组成部分,是基础,对于有地下室的建筑经常用筏板基础,如果荷载较大,地基土的承载力不能满足承载力要求或者沉降要求,所采用的地基处理方式)。其中桩采用的是钻孔灌注桩(灌注桩系是指在工程现场通过机械钻孔、钢管挤土或人力挖掘等手段在地基土中形成桩孔,并在其内放置钢筋笼、灌注混凝土而做成的桩,依照成孔方法不同,灌注桩又可分为沉管灌注桩、钻孔灌注桩和挖孔灌注桩等几类。钻孔灌注桩是按成桩方法分类而定义的 一种桩型。) 桩长38m,直 径700mm。桩 起高距离底 层高度 0.8m-1m。其 高度同时作 为承台钢筋 保护层的厚 度。由桩和 连接桩顶的 桩承台(简 称承台)组 成的深基 础,简称桩 基。桩基具

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 .没有共同点

河北工业大学软件工程期末复习

软件工程期末复习总结 第一讲概述(选择U填空U简答) 1、1 软件工程的研究内容 软件工程要考虑专业软件开发所需要的理论、方法与工具----工程技术问题 软件工程要考虑如何有效的在软件开发中利用有限的成本资源----工程管理的问题 1、2 什么就是软件? 软件包括:---软件的内涵 ①能够提供客户所需功能与性能的计算机程序; ②使程序能够适当的操作信息的数据结构; ③用以描述程序开发过程及使用的文档。 软件产品可以为一个特定的用户设计开发,也可以为某一类通用的市场设计开发。 软件产品可以分成: 一个新的软件并不一定就是全新开发,可以由现有软件或可复用软件成分配置形成。 1、3 什么就是软件工程? 软件工程就是涉及软件生产各个方面的一门工程学科 软件工程涉及软件生命周期的各个方面,从软件需求的确定到软件退役。 软件工程:(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行与维护的过程,即将工程化应用于软件;(2)研究(1)中的方法、 ——IEEE[IEE93] 1、4 什么就是成功的软件项目 一个成功软件项目的三个要素包括: 按时交付不超预算满足用户要求。 1、5 软件过程与软件生命周期的相关概念 软件过程就是指开发或制作软件产品的一系列活动及其成果、 所有的软件过程中都包括四个基本活动:(填空) 1、描述( Specification)- 系统应该提供的功能及其开发约束; 2、开发( Development)- 软件产品的生产过程; 3、有效性验证(Validation )- 检验软件产品就是否满足了客户的需要; 4、进化( Evolution )- 按照用户的变更要求不断的改进软件。 软件生命周期就是软件过程的另一种形象描述,通常包括需求定义、分析与描述、软件设计、实现、测试、维护与退役等活动。 1、6什么就是优良软件的属性? P8 (填空U选择) 优良的软件应能交付相应的功能与性能,而且应具有良好的可维护性、可依赖性、有效性与可用性:(选择题,考法内涵匹配) 可维护性(Maintainability) Software must evolve to meet changing needs; 可依赖性(Dependability) Software must be trustworthy;

信息工程专业介绍

信息工程专业介绍: 1.专业简介:信息技术是衡量一个国家现代化水平的重要标志,我国把信息技术列为21世纪发展战略计划的首位。信息工程是一门研究信息的产生、获取、传输、存储和显示技术的学科。信息工程专业培养在信息工程,重点是光电信息工程领域具有宽厚的理论基础、扎实的专业知识和熟练的实验技能的高级信息工程科技人才。毕业生将在光电信号的采集、传输、处理、存储和显示的科学研究、工程设计、技术开发和企业管理中展示才华。 2.主修课程:光电信息物理基础、光电子学、信号与系统、通信原理、图像处理、传感器原理技术、光电检测技术、自动控制理论、光纤通信、计算机通讯网络、工程光学、微机原理、计算机软件技术基础、计算机网络技术、计算机辅助设计、数字与模拟电子技术基础、电路基础以及有关数理基础和工程基础方面的课程。 3.毕业去向:本专业历年输送了大量优秀毕业生攻读硕士、博士学位。除此之外,主要为科研单位、高等院校、电信部门、信息产业部门、企事业单位及有关公司录用,从事光电信息工程与技术、通信工程与技术、光电信号检测、处理及控制技术等领域的研究、设计、开发应用和管理等工作。 电子信息工程专业 业务培养目标: 业务培养目标:本专业培养具备电子技术和信息系统的基础知识,能从事各类电子设备和信息系统的研究、设计、制造、应用和开发的高等工程技术人才。 业务培养要求:本专业是一个电子和信息工程方面的较宽口径专业。本专业学生主要学习信号的获取与处理、电厂设备信息系统等方面的专业知识,受到电子与信息工程实践的基本训练,具备设计、开发、应用和集成电子设备和信息系统的基本能力。 电子信息工程已经涵盖很广的范围。电话交换局里怎样处理各种电话信号,手机是怎样传递我们的声音甚至图象,我们周围的网络怎么样传递数据,甚至信息化时代军队的信息传递中如何保密等知识。我们通过一些基础知识的学习认识这些东西,并能够进行维护和更先进的技术和新产品的开发。 你首先要有扎实的数学知识,要学习许多电路知识,电子技术,信号与系统,计算机控制原理,信号与系统,通信原理等基本课程。自己还要动手设计、连接一些电路以及结合计算机的实验。譬如自己连接传感器的电路,用计算机自己设置小的通信系统,还会参观一些大的公司的电子和信息处理设备,对整体进行了解,理解手机信号、有线电视是如何传输的等,并能有机会在老师指导下参与大的工程的设计。 随着计算机和互联网日益深入到社会生活的多个层面,社会需求量相当大。现在是一个热门专业。 毕业后干什么——从事电子设备和信息系统的设计、应用开发以及技术管理等 随着社会信息化的深入,各行业大都需要本专业人才,而且薪金很高。可成为: 电子工程师——设计开发一些电子,通信器件,起薪一般2000元——6000元/月; 项目主管—策划一些大的系统,经验、知识要求很高,起薪一般4000元/月以上; 还可以继续进修成为教师,进行科研项目等 专业是个好专业:适用面比较宽,和计算机、通信、电子都有交叉;但是这行偏电,因此动手能力很重要;另外,最好能是本科,现在专科找工作太难了!当然大虾除外 本专业对数学和英语要求不低,学起来比较郁闷要拿高薪,英语是必需的; 吃技术这碗饭,动手能力和数学是基本功当然,也不要求你成为数学家,只要能看懂公式就可以了,比如微积分和概率统计公式,至少知道是在说些什么而线性代数要求就高一些,因为任何书在讲一个算法时,最后都会把算法化为矩阵计算(这样就能编程实现了,而现代的电子工程相当一部分工作都是编程) 对于动手能力,低年级最好能焊接装配一些小电路,加强对模拟、数字、高频电路(这三门可是电子线路的核心)的感性认识;工具吗就找最便宜的吧!电烙铁、万用表是必需的,如果有钱可以买个二手示波器电路图吗,无线电杂志上经常刊登,无线电爱好者的入门书对实际操作很有好处

河北工业大学数据库实验报告

《数据库原理及应用》 实验报告 题目:SQL语言(视图、数据控制、空值和空集的处理)

1.4视图 一实验目的 熟悉SQL语言支持的有关视图的操作,能够熟练使用SQL语句来创建需要的视图,对视图进行查询和取消视图。 二实验内容 (1)定义常见的视图形式,包括: ·行列子集视图。 · WITH CHECK OPTION的视图。 ·基于多个基表的视图。 ·带表达式的视图。 ·分组视图。 (2)通过实验考察WITH CHECK OPTION 这一语句在视图定义后 产生的影响,包括对修改操作、删除操作、插入操作的影响。 (3)讨论视图的数据更新情况,对子行列视图进行数据更新。 (4)使用DROP语句删除一个视图,由该视图导出的其它视图定义仍 在数据词典中,但已经不能使用,必须显式删除。同样原因,删除基表时,由该基表导出的所有视图定义都必须显式删除。

三实验题目 (1)定义选课信息和课程名称的视图VIEWC create view VIEWc as select CHOICES.cid,https://www.360docs.net/doc/8618836100.html,ame,sid,tid,score from CHOICES,COURSES where CHOICES.cid=COURSES.cid (2)定义学生姓名与选课信息的视图VIEWS create view VIEWS as select STUDENTS.sname,CHOICES.cid,CHOICES.sid,CHOICES.tid,choices. score from CHOICES,STUDENTS where CHOICES.sid=STUDENTS.sid (3)定义年级低于1998的学生视图S1(SID,SNAME,GRADE) drop view s1 create view S1 as select STUDENTS.sid ,sname,grade from STUDENTS where grade>1998 (4)查询学生为”uxjof”的学生的选课信息 select*from VIEWS where sname='uxjof' (5)查询选修课程”UML”的学生的编号和成绩 select sid,score from VIEWC where cname='UML' (6)向视图S1插入记录(”60000001,Lily,2001”) insert into s1values('60000001','Lily',2001) (7)定义包括更新和插入约束的视图S1,尝试向视图插入记录 (“60000001,Lily,1997”),删除所有年级为1999的学生记录,讨论更新和插入带来的影响。 drop view s1 create view S1as select STUDENTS.sid,sname,grade from STUDENTS where grade>1998 with check option

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

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)掌握二叉树的存储结构及其相关操作。 (2)掌握构造哈夫曼树的基本思想,及其编码/译码过程。 二、实验内容 利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传输数据预先编码,在接收端将传来的数据进行译码。对于双工信道,每端都需要一个完整的编/译码系统。试为这样的信息收发站设计一个基于哈夫曼编码的通信系统。 一个完整的系统应具有以下功能 1)初始化处理:建立通信系统 (1)建立有100句中文的信息集合,每个句子称为一条信息。(2)输入编码参数: ①从终端输入编码字符集大小n,字符编码长度m(设n为4,m为8); ②从终端输入编码字符(设为A,B,C,D); (3)生成每条信息的字符编码,构造字符编码集合; (4)计算每个字符编码集合中出现的概率; (5)根据字符概率构造哈夫曼树,求出每个字符的二进制编码。 2)发送端信息编码 (1)用户从信息集合中选择一条信息,找到该信息对应的字符

编码; (2)根据该信息的字符编码,哈夫曼树求出的每个字符的二进制编码,构造出该信息的二进制编码,记录二进制比编码。 3)接受端信息译码 (1)根据得到的信息的二进制编码,利用哈夫曼树求出每个字符的二进制编码还原出信息的字符编码; (2)根据信息的字符编码,找到对应的信息。 三、源程序代码 #include #include #include char *codechar; int ncodechar,lcodechar; int *arraychar[100]; char *temp; float *proba; char pass[50]; int passl; struct node { float pro; int num; struct node* p; struct node* lc; struct node* rc; char *res; int length; }*hc; char message[100][20]={ {"人之初"}, {"性本善"}, {"性相近"}, {"习相远"}, {"苟不教"}, {"性乃迁"}, {"教之道"}, {"贵以专"}, {"昔孟母"}, {"择邻处"}, {"子不学"}, {"断机杼"}, {"窦燕山"}, {"有义方"}, {"教五子"}, {"名俱扬"}, {"养不教"}, {"父之过"}, {"教不严"}, {"师之惰"}, {"子不学"}, {"非所宜"}, {"幼不学"}, {"老何为"}, {"玉不琢"}, {"不成器"}, {"人不学"}, {"不知义"}, {"为人子"}, {"方少时"}, {"亲师友"}, {"习礼仪"}, {"香九龄"}, {"能温席"}, {"孝于亲"}, {"所当执"}, {"融四岁"}, {"能让梨"}, {"弟于长"}, {"宜先知"}, {"首孝弟"}, {"次见闻"},

数据库实验报告(河北工业大学)

数据库实验报告第一章 李云霄 实验1.1 (1) CREATETABLE CUSTOMER (CID CHAR(8)UNIQUE,CNAME CHAR(20),CITY CHAR(8), DISCNT INT, PRIMARYKEY(CID)) CREATETABLE AGENTS (AID CHAR(8)UNIQUE,ANAME CHAR(20),CITY CHAR(8), PERCENTS FLOAT,PRIMARYKEY(AID)) CREATETABLE PRODUCTS (PID CHAR(8)UNIQUE,PNAME CHAR(20),PRIMARYKEY (PID)) (2) CREATETABLE ORDERS (ORDNA CHAR(8)UNIQUE,MONTH INT,CID CHAR(8),AID CHAR (8), PID CHAR(8),QTY INT,DOLLARS FLOAT,PRIMARYKEY (ORDNA), FOREIGNKEY(CID)REFERENCES CUSTOMER,FOREIGNKEY(AID) REFERENCES AGENTS,FOREIGNKEY(PID)REFERENCES PRODUCTS) (3) ALTERTABLE PRODUCTS ADD CITY CHAR(8) ALTERTABLE PRODUCTS ADD QUANTITY INT ALTERTABLE PRODUCTS ADD PRICE FLOAT (4) CREATEINDEX XSNO ON CUSTOMER(CID) CREATEINDEX XSNO ON AGENTS(AID) CREATEINDEX XSNO ON PRODUCTS(PID) CREATEINDEX XSNO ON ORDERS(ORDNA) (5) DROPINDEX CUSTOMER.XSNO DROPINDEX AGENTS.XSNO DROPINDEX PRODUCTS.XSNO DROPINDEX ORDERS.XSNO 实验1.2 (1)SELECT*FROM COURSES (2)SELECTSIDFROM CHOICES (3)SELECT CID FROM COURSES WHEREhour<88 (4)SELECTSIDFROM CHOICES GROUPBYSIDHAVING SUM(SCORE)>400 (5)SELECT COUNT(CID)FROM COURSES (6)SELECT CID,COUNT(CID)FROM CHOICES GROUPBY cid (7)SELECTSIDFROM CHOICES WHERE score>60 GROUPBYsidHAVING COUNT(cid)>2(8)SELECTSID,COUNT(CID),AVG(SCORE)FROM CHOICES GROUPBYsid (9)SELECT STUDENT.sid,sname from student,choice,COURSES where student.sid=choice.sid and choice.cid=COURSES.cid

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

2017《数据结构》期末考试试题及答案 《数据结构》期末考试试题及答案 1 ................................................................. 2..试题 1 答案............................................................ 7..《数据结构》期末考试试题及答案 2 ................................................................. 9..试题 2 答案........................................................................ 1.. 4. 《数据结构》期末考试试题及答案 3 ............................................................... 1..6试题 3 答案........................................................................ 2.. 1.

数据结构》期末考试试题及答案 1 单选题(每题 2 分,共 20 分) 1. 栈和队列的共同特点是 ( )。 A. 只允许在端点处插入和删除元素 B. 都是先进后出 C. 都是先进先出 D. 没有共同点 2. 用链接方式存储的队列,在进行插入运算时 ( ). A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D .头、尾指针可能都要修改 3. 以下数据结构中哪一个是非线性结构? ( ) A. 队列 B. 栈 C. 线性表 D. 二叉树 4. 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(io ), A[2][2]存放 若有18个元素的有序表存放在一维数组 A[19]中,第一个元素放A[1]中, 现进行二分查找,则查找 A [3]的比较序列的下标依次为( A. 1 , 2, 3 B. 9, 5, 2, 3 C. 9, 5, 3 D. 9, 4, 2, 3 8. 对n 个记录的文件进行快速排序,所需要的辅助存储空间大致为 A. O (1) B. O (n ) C. O ( 1 og 2n ) D. O (n2) 9. 对于线性表( 7, 34, 55, 25, 64, 46, 20, 10)进行散列存储时,若选 用 H (K )=K %9 作为散列函数,则散列地址为 1 的元素有( )个, 位置在 676(10),每个元素占一个空间, 表示用 10 进制表示。 问 A[3][3] (10)存放在什么位置?脚注 (10) 5. A .688 B .678 C . 692 D . 696 树最适合用来表示 ( )。 A.有序数据元素 B.无序数据元素 6. C.元素之间具有分支层次关系的数据 D .元素之间无联系的数据 二叉树的第 k 层的结点数最多为 ( ). A .2-1 B.2K+1 C.2K-1 D. 2k-1 7.

河北工业大学数据挖掘实验报告

实验一数据预处理 一、实验目得 1、熟悉 VC++编程工具与完全数据立方体构建、联机分析处理算法。 2、浏览拟被处理得得数据,发现各维属性可能得噪声、缺失值、不一致性等, 针对存在得问题拟出采用得数据清理、数据变换、数据集成得具体算法。 3、用 VC++编程工具编写程序,实现数据清理、数据变换、数据集成等功能。 4、调试整个程序获得清洁得、一致得、集成得数据,选择适于全局优化得 参数。 5、写出实验报告。 二、实验原理 1、数据预处理现实世界中得数据库极易受噪音数据、遗漏数据与不一致性数据得侵扰,为提高数据质量进而提高挖掘结果得质量,产生了大量数据预处理技术。数据预处理有多种方法:数据清理,数据集成,数据变换,数据归约等。这些数据处理技术在数据挖掘之前使用,大大提高了数据挖掘模式得质量,降低实际挖掘所需要得时间。 2、数据清理数据清理例程通过填写遗漏得值,平滑噪音数据,识别、删除离群点,并解决不一致来“清理”数据。 3、数据集成数据集成将数据由多个源合并成一致得数据存储,如数据仓库或数据立方体。 4、数据变换通过平滑聚集,数据概化,规范化等方式将数据转换成适用于数据挖掘得形式。 5、数据归约使用数据归约可以得到数据集得压缩表示,它小得多,但能产生同样(或几乎同样得)分析结果。常用得数据归约策略有数据聚集、维归约、数据压缩与数字归约等。 三、实验内容与步骤 1、实验内容 1、用VC++编程工具编写程序,实现数据清理、数据变换、数据集成等功能,并在实验报告中写出主要得预处理过程与采用得方法。 2、产生清洁得、一致得、集成得数据。 3、在试验报告中写明各主要程序片段得功能与作用。 2、实验步骤 1)仔细研究与审查数据,找出应当包含在您分析中得属性或维,发现数据中得一些错误、不寻常得值、与某些事务记录中得不一致性。 2)进行数据清理,对遗漏值、噪音数据、不一致得数据进行处理。例如: 1、日期中得缺失值可以根据统一得流水号来确定。2、购买得数量不能为负值。 3)进行数据集成与数据变换与数据归约,将多个数据源中得数据集成起来, 减少或避免结果数据中得数据冗余或不一致性。并将数据转换成适合挖掘得形式。 例如: 1、进行完数据清理后发现购买数量、销售价格、总额就是相互关联得项可

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

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

2021河北工业大学计算机科学与技术考研真题经验参考书

看到贴子的考研党们,恭喜大家和我一样走上考研这条追梦之路,考研这条路是真的不容易走完它需要我们倾尽心力,因此我也想和同学们分享一下我的考研之路是怎么走过的,希望可以为想考取计算机科学与技术的同学提供有用的帮助。 我觉得考研一定要选择自己喜欢的专业,因为考研准备期间的坚持是很重要的,在考研准备期间不像高考那样,考研是没有人监督,也没有人强迫,全靠个人的毅力去坚持,所以对于考研的动力需要我们自己把控,选择自己喜欢的专业就是很好的动力。 河北工业大学的计算机专业基础综合考试涵盖数据结构、计算机组成原理、计算机网络等专业基础课程。数据结构这一部分在考试内容中是分数占比最高的一部分,所以复习专业课的重点就要从这一部分下手,而且一定要熟练的掌握各种数据结构和排序查找算法,并且经常抽时间过一遍,不能再学会之后就不在看,如果不经常抽时间看肯定会忘记,而且这些数据上的东西每一次看都会有不一样的理解,这科概念性的东西相对来说比较少,可以有自己的理解和思路。 关于数据结构这一部分的复习我推荐《数据结构(C 语言版)》这一本书,清华大学出版社出版的。这本书从抽象数据类型的角度讨论了各种基本类型的数据结构及其应用,还主要讨论了查找和排序的各种实现方法及综合分析比较。对于数据结构的描述比较详细,适合数据部分的学习,如果可以把这一本书掌握透彻,相信对于语言结构你会有更新更深的理解。 计算机组成原理相比数据结构来说稍微简单一些,但是也是不能忽视的部分,我认为想要学好计算机的组成原理重要的是理解,一定要理解计算机的组成原理,理解之后在很多问题上都可以从原理上找到答案,计算机相关的专业还是不需要太多的死记硬背的,计算机的组成原理的知识点比较多,要是光靠背到考试时一紧张可能就忘记了。 计算机组成原理的复习资料我这里有2本推荐书,第一本《计算机组成原理》,高等教育出版社出版,这本书是通过对一台计算机的剖析,可以让我们更深入具体的理解总线是怎么把计算机各大部件互连成整机。书里的概念简单清楚,书里的所举案例力求与当代计算机技术相结合更好地帮助理解计算机组成的原理。第二本我推荐《计算机组成与结构》(第三版),清华大学出版社出版,这本书主要

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

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}

河北工业大学863综合力学(Ⅱ)考研参考书

天津考研网(https://www.360docs.net/doc/8618836100.html,) 河北工业大学863综合力学(Ⅱ)考研参考书河北工业大学863综合力学(Ⅱ)考研复习都是有依据可循的,考研学子关注事项流程为:考研报录比-大纲-参考书-资料-真题-复习经验-辅导-复试-导师,缺一不可。 笔者考的专业课是河北工业大学863综合力学(Ⅱ),要考这一科目的同学可以看看下面的内容。教材的话,我用的是: 1.《材料力学简明教程》,清华大学出版社,景荣春; 2.《土力学》,中国建材工业出版社,2006,徐东强; 3.《结构力学》,高等教育出版社,龙驭球; 然后就是专业课资料了,我用的是《河北工业大学864综合力学(结构力学、材料力学、土力学)考研红宝书》。(备注:由于笔者在写文时今年的招生简章还没有出,所以是按照去年的考试大纲写的,资料书名没有改过来,小编担心改了书名上的编码大家会找不到资料,因而仍保留了864的编码。本文其他地方的编码,小编均已改过。今年的编码换成863了哦!!!)其实在买这本资料之前,我还打印了一堆真题,前辈们的自己,总结什么的,结果最后都用来打草稿了。因为真题真的只有题,做了一套就做不下去了。后来在天津考研网主编的这本《河北工业大学864综合力学(结构力学、材料力学、土力学)考研红宝书》资料上,我发现了真题的相关内容,具体包含了:863综合力学(结构力学部分)2000-2012年考研试题(其中2011-2012年包括学术和专硕两张试卷);863综合力学(结构力学部分)2005-2010年考研试题参考答案;863综合力学(材料力学部分)2008-2012年考研试题;863综合力学(土力学部分)2005-2012年考研试题(其中2012年包括学术和专硕两张试卷)。 我在看教材的时候就把自己不是很理解的地方做好标记,然后二轮复习以资料为主,把这些知识点消化成自己的,把不理解的地方搞明白,做好笔记。到了最后的两个月,我就主要看自己的笔记和研究真题了,做真题的时候算是一个查漏补缺的过程,往笔记中补充了些重要的内容,但是总体来说,最后用来整体复习的时间还是少了些,希望大家在备考的时候多加注意。 最后,笔者祝愿各位在河北工业大学863综合力学(Ⅱ)的考试中旗开得胜。

图论应用案例

题目:最小生成树在城市交通建设中的应用 姓名: 学号: 指导老师: 专业:机械工程 2014年3月16

目录 摘要..................................................................................... 错误!未定义书签。 1 绪论 (1) 2 有关最小生成树的概念 (2) 3 prim算法介绍 (3) 4 系统设计及其应用 (5) 一、系统设计 (5) 二、最小生成树应用 (8) 5 总结 (11) 参考文献 (12) 附件: (13)

最小生成树在城市交通建设中的应用 摘要:连通图广泛应用于交通建设,求连通图的最小生成树是最主要的应用。比如要在n个城市间建立通信联络网,要考虑的是如何保证n点连通的前提下最节省经费,就应用到了最小生成树。 求图的最小生成树有两种算法,一种是Prim(普里姆)算法,另一种是Kruskal(克鲁斯卡尔)算法。 本文通过将城市各地点转换成连通图,再将连通图转换成邻接矩阵。在Microsoft Visual C++上,通过输入结点和权值,用普里姆算法获得权值最小边来得到最小生成树,从而在保证各个地点之间能连通的情况下节省所需费用。 本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、详细设计、测试等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结。 关键字:PRIM算法、最小生成树、邻接矩阵、交通建设

Abstract Connected graph is widely applied in traffic construction, connected graph of minimum spanning tree is the main application.Such as to establish a communication network between the n city, want to consider is how to ensure n points connected under the premise of the most save money, apply to the minimum spanning tree. O figure there are two kinds of minimum spanning tree algorithm, one kind is Prim (she) algorithm, the other is a Kruskal algorithm (Kruskal). In this article, through the city around point into a connected graph, then connected graph is transformed into adjacency matrix.On Microsoft Visual c + +, through the input nodes and the weights, gain weight minimum edge using she algorithm to get minimum spanning tree, which in the case of guarantee every location between connected to save costs. Based on the analysis topic subject background, significance, subject requirements, etc, from requirements analysis, general design, detailed design, testing, and other aspects detailed introduces the system design and implementation process, finally the completion of the system are summarized. Key words: PRIM algorithm, minimum spanning tree, adjacency matrix, traffic construction

相关文档
最新文档