数据结构期末复习题
数据结构与算法期末考试复习试题
《数据结构与算法》复习题
一、选择题。
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) 。
s =0;
for( I =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j]; sum = s ;
数据结构期末考试复习题资料
数据结构期末考试复习题资料
一.单项选择题
1.算法指的是()。
A.计算方法B.排序方法C.特定问题求解步骤的描述D.调度方法
2.下列数据结构中,()是非线性结构。
A.栈B.队列C.完全二叉树D.堆
3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储
方式最节省时间。
A.顺序表B.双向链表C.单循环链表D.带头结点的双循环链表
4.队列的操作原则是()
A.先进先出B.后进先出C.先进后出D.不分顺序
5.栈和队列的共同特点是()。
A.都是先进先出B.都是先进后出C.都是只允许在端点处插入和删除D.没有共同点6.在一棵高度为k 的满二叉树中,结点总数为()。
A.2k-1 B.2k C.2k-1 D.⎣log 2 k ⎦+ 1
7.在下列存储形式中,哪一个不是树的存储形式?()
A.双亲链表表示法B.孩子链表表示法C.孩子兄弟链表表示法D.顺序存储表示法8.n 个结点的完全有向图含有边的数目为()。
A.n*n B.n*(n+1) C.n/2 D.n*(n-1)
9.n 个顶点的强连通图至少有()条边。
A.n B.n-1 C.n+1 D.n(n-1)
10、高度为k 的二叉树的最大结点数为()。
A、2k
B、2k-1
C、2k–1
D、2k-1–1
11、下列哪一种图的邻接矩阵是对称矩阵?()
A、有向图
B、无向图
C、AOV 网
D、AOE 网
12、在下列存储形式中,哪一个不是树的存储形式?()
A、双亲表示法
B、孩子表示法
C、孩子兄弟表示法
D、顺序存储表示法
13、下面哪一方法可以判断出一个有向图是否有环。()
数据结构期末复习题
数据结构期末复习题
习题⼀绪论
习题答案
1.1 1. AB
2. BD
3. C
4. AB
5. CA
6. CB
7. B
8. D
9. B 10. B
1.2 1. 线性结构、树形结构、图形结构、⾮线性结构
2. 没有、1、没有、1
3. 前驱、1、后续、任意多个
4. 任意多个
5. ⼀对⼀、⼀对多、多对多
6. 有穷性、确定性、可⾏性、输⼊、输出
7. O(m*n)
8. O (n 1 2)
9. O (n2)
10. log3n
1.1 单项选择题
1. 数据结构是⼀门研究⾮数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。
①A.操作对象B.计算⽅法C.逻辑存储D.数据映象
②A.结构B.关系C.运算D.算法
2. 数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②有限集合。
①A.算法B.数据元素C.数据操作D.逻辑结构
②A.操作B.映象C.存储D.关系
3. 在数据结构中,从逻辑上可以把数据结构分成①。
A.动态结构和静态结构B.紧凑结构和⾮紧凑结构
C.线性结构和⾮线性结构D.内部结构和外部结构
4. 线性表的顺序存储结构是⼀种①的存储结构,线性表的链式存储结构是⼀种②的存储结构。A.随机存取B.顺序存取C.索引存取D.散列存取
5. 算法分析的⽬的是①,算法分析的两个主要⽅⾯是②。
① A. 找出数据结构的合理性 B. 研究算法中的输⼊和输出的关系
C. 分析算法的效率以求改进
D. 分析算法的易懂性和⽂档性
② A. 空间复杂性和时间复杂性 B. 正确性和简明性
C. 可读性和⽂档性
D. 数据复杂性和程序复杂性
数据结构期末考试试题及答案
数据结构期末考试试题及答案
一、选择题
1. 评价一个算法时间性能的主要标准是( )。
A、算法易于调试
B、算法易于理解
C、算法的稳定性和正确性
D、算法的时间复杂度
2. 计算机算法具备有输入、输出、()等五个特性。
A、可行性、可移植性和可扩充性
B、可行性、确定性和有穷性
C、确定性、有穷性和稳定性
D、易读性、稳定性和安全性
3. 带头结点的单链表head为空的判定条件是()。
A、head==NULL
B、head->next==NULL
C、head->next==head
D、head!=NULL
4. 以下关于线性表的说法不正确的是( )。
A、线性表中的数据元素可以是数字、字符、记录等不同类型。
B、线性表中包含的数据元素个数不是任意的。
C、线性表中的每个结点都有且只有一个直接前趋和直接后继。
D、存在这样的线性表:表中各结点都没有直接前趋和直接后继。
5. 在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。
A、基地址
B、结点大小
C、向量大小
D、基地址和结点大小
6. ( )运算中,使用顺序表比链表好。
A、插入
B、删除
C、根据序号查找
D、根据元素值查找
7. 一个长度为n的顺序表中,向第i个元素之前插入一个新元素时,需要向后移动()个元素
A、n-i
B、n-i+1
C、n-i-1
D、i
8. ( )适合作为经常在首尾两端操作线性表的存储结构。
A、顺序表
B、单链表
C、循环链表
D、双向链表
9. 栈和队列的共同点是()
A、都是先进后出
B、都是先进先出
C、只允许在端点处插入和删除元素
D、没有共同点
期末数据结构复习习题(含答案)
数据结构练习题
数据结构练习题(1-5章)
一、选择题
1、从逻辑上可以把数据结构分为(C)两大类。
A.动态结构、静态结构B.顺序结构、链式结构
C.线性结构、非线性结构D.初等结构、构造型结构
2、以下数据结构中,哪一个是线性结构( D)?
A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串
3、在下面的程序段中,对x的赋值语句的频度为(C)
for (i=1;i<=n;i++)
for (j=1;j<=n;i++)
x=x+1;
n)
A. O(2n) B.O(n) C.O(n2) D.O(log
2
4、下面关于线性表的叙述中,错误的是哪一个?( B )
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
5、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表
6、静态链表中指针表示的是( B).
A.内存地址 B.数组下标 C.下一元素地址 D.左、右孩子地址
7、下面的叙述不正确的是( BC)
A.线性表在链式存储时,查找第i个元素的时间同i的值成正比
B. 线性表在链式存储时,查找第i个元素的时间同i的值无关
C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比
D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关
《数据结构》期末考试复习题及参考答案
数据结构复习题
(课程代码 252259)
一、填空题(本大题共40小题)
1.队列中是按照______先进先出______的原则进行数据元素的增删。
2.___栈__又称为LIFO表。
3.在顺序存储的完全二叉树中,若编号为i的结点有左孩子结点,则其右孩子结点的编号
为___2i+1___。
4.存储地址与关键字之间存在某种映射关系的存储结构为_______散列存储结构_______。
5.在串S=“structure”中,以r为首字符的子串有_9_个。
6.设有整型二维数组M[4][3],每个元素(整数)占2个存储单元,元素按行的顺序存储,
数组的起始地址为200,元素M[1][1]的地址是___208____。
7.在一个具有n个顶点的无向完全图中,包含有___ n(n-1)/2_____条边,在一个具有n
个顶点的有向完全图中,包含有__ n(n-1)______条边。
8.假定一个线性表为(12,23,74,55,63,40),若按Key % 4条件进行划分,使得同一余数的元
素成为一个子表,则得到的四个子表分别为_____(12,40)()(74)(23,55,63)____。
9.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度____
增加1______。
10.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为__ O(log2n)______,
整个堆排序过程的时间复杂度为__ O(nlog2n)______。
11.在快速排序、堆排序、归并排序中,____归并_____排序是稳定的。
数据结构期末复习练习题
数据结构期末复习练习题
第一章绪论
一、单选题
1. 一个数组元素a[i]与__A__的表示等价。
A、 *(a+i)
B、 a+i
C、 *a+i
D、 &a+i
2. 对于两个函数,若函数名相同,但只是____C____不同则不是重载函数。
A、参数类型
B、参数个数
C、函数类型
3. 若需要利用形参直接访问实参,则应把量形参变说明为__ _B___参数
A、指针
B、引用
C、值
4. 下面程序段的时间复杂度为____C____。
for(int i=0; i<m; i++)
for(int j=0; j<n; j++)
a[i][j]=i*j;
A、 O(m2)
B、 O(n2)
C、 O(m*n)
D、 O(m+n)
5. 执行下面程序段时,执行S语句的次数为___D_____。
for(int i=1; i<=n; i++)
for(int j=1; j<=i; j++)
S;
A、 n2
B、 n2/2
C、 n(n+1)
D、 n(n+1)/2
6. 下面算法的时间复杂度为____B_____。
int f( unsigned int n ) {
if ( n==0 || n==1 ) return 1; else return n*f(n-1);
}
A、 O(1)
B、 O(n)
C、 O(n2)
D、 O(n!)
二、填空题
1. 数据的逻辑结构被分为集合结构、线性结构、树型结构、图形结构_四种。
2. 数据的存储结构被分为 _顺序、链接、索引、散列四种。
3. 在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着__ 1:1、1:N、M:N ___的联系。
数据结构期末复习题(有答案)
一、单选题
1. 从物理上可以把数据结构分为(B)两大类。
A. 动态结构、静态结构
B. 顺序结构、链式结构
C. 线性结构、非线性结构
D. 初等结构、构造型结构
2. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为(C )(1≤i≤n+1)。
A. O(0)
B. O(1)
C. O(n)
D. O(n2)
3. 链表不具有的特点是(B)。
A. 插入、删除不需要移动元素
B. 可随机访问任一元素
C. 不必事先估计存储空间
D. 所需空间与线性长度成正比
4. 下列排序算法中(C)排序在一趟结束后不一定能选出一个元素放在其最终位置上。
A. 选择
B. 起泡
C. 归并
D. 堆
5. 在下列排序算法中,哪一个算法的时间复杂度与初始排序无关(D )。
A. 插入排序
B. 起泡排序
C. 快速排序
D. 选择排序
6. 一个栈的输入序列为1,2,3,…,n,若输出序列的第一个元素是i,则第j个输出元素是(D)。
A. i-j-1
B. i-j
C. j-i+1
D. 不确定
7. 输入序列为ABC,可以变为BCA时,经过的栈操作为(D )。
A. push,pop,push,pop,push,pop
B. push,push,push,pop,pop,pop
C. push,push,pop,pop,push,pop
D. push,push,pop,push,pop,pop
8. 有六个元素6 5 4 3 2 1 的顺序进栈,下列(C )不是合法的出栈序列。
A. 5 4 3 6 1 2
B. 4 5 3 1 2 6
数据结构期末复习题
练习题:
一、填空题
1、元素项是数据的最小单位,数据元素是讨论数据结构时涉及的最小数据单位。
2、设一棵完全二叉树具有100个结点,则此完全二叉树有49个度为2的结点。
3、在用于表示有向图的邻接矩阵中,对第i列的元素进行累加,可得到第i个顶点的出度。
4、已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树中有12个叶子
的结点。
n=n0+n1+n2+…+nm (1)
又有除根结点外,树中其他结点都有双亲结点,且是唯一的(由树中的分支表示),所以,有双亲的结点数为:n-1=0*n0+1*n1+2*n2+…+m*nm (2)
联立(1)(2)方程组可得:
叶子数为:n0=1+0*n1+1*n2+2*n3+...+(m-1)*nm
5、有一个长度为20的有序表采用二分查找方法进行查找,共有4个元素的查找长度为3。
6、对于双向链表,在两个结点之间插入一个新结点需要修改的指针共4个。
删除一个结点需要修改的指针共2个。
7、已知广义表LS=(a,(b,c,d),e),它的深度是2,长度是3。
8、循环队列的引入是为了克服假溢出。
9、表达式a*(b+c)-d/f的后缀表达式是abc+*df/-。
10、数据结构中评价算法的两个重要指标是时间复杂度和空间复杂度。
11、设r指向单链表的最后一个结点,要在最后一个结点之后插入s所指的结点,需执行的三条语句是
r->next=s; r=s; r->next=null;
12、设有一个空栈,栈顶指针为1000H(十六进制),现有输入序列为1,2,3,4,5,经过
必看!!!!!数据结构期末复习题及部分答案解析
0一.是非题
1. 数据结构(应该是抽象数据类型)可用三元式表示(D,S,P)。其中:D是数据对象,S 是D上的关系,P是对
D的基本操作集。(f)
2 简单地说,数据结构是带有结构的数据元素的集合。(t)
3 判断带头结点的非空循环单链表(头指针为L)中指针p所指结点是最后一个元素结点
的条件是:p->next==L。(t)
4 线性表的链式存储结构具有可直接存取?表中任一元素的优点。(f)
5 线性表的顺序存储结构优于链式存储结构。(f)
6. 在单链表P指针所指结点之后插入S结点的操作是:
P->next= S ; S-> next = P->next;。(顺序弄反了)(f)
7 对于插入、删除而言,线性表的链式存储优于顺序存储。(t)
8. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。(f)
9. 栈和队列是操作上受限制的线性表。(t)
10. 队列是与线性表完全不同的一种数据结构。栈和队列是操作上受限制的线性表(f)
11. 队列是一种操作受限的线性表,凡对数据元素的操作仅限一端进行。对列不是(f)
12. 栈和队列也是线性表。如果需要,可对它们中的任一元素进行操作。(f)
13. 栈是限定仅在表头进行插入和表尾进行删除运算的线性表。(f)
14. 二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,二叉树是树的
特殊情形。(f)
15 二叉树是一棵结点的度最大为二的树二叉树和树相互独立。(f)
16 赫夫曼树中结点个数一定是奇数。(t)
17 在二叉树的中序遍历序列中,任意一个结点均处在其左孩子结点的后面。(t)
数据结构期末复习习题(含答案)
第一章习题
一、求下列程序段的时间复杂度。
1.x=0;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
x++;
2.x=0;
for(i=1;i<n;i++)
for(j=1;j<=n-i;j++)
x++;
3.int i,j,k;
for(i=0;i<n;i++)
for(j=0;j<=n;j++)
{ c[i][j]=0;
for(k=0;k<n;k++)
c[i][j]=a[i][k]*b[k][j]
}
4.i=n-1;
while((i>=0)&&A[i]!=k))
j--;
return (i);
5.fact(n)
{ if(n<=1)
return (1);
else
return (n*fact(n-1));
}
二、写一个算法,返回一个数组中所有元素被第一个元素除的结果
一、O(2n) 2. O(2n) 3. O(n3) 4. O(n) 5. O(n)
二、void DivArray(int * pArray ,int size)
{
if (size <= 0) return ;
if (pArray[0] == 0) return;
for (int i=size-1;i>=0;i--)
{
pArray[i] /=pArray[0];
}
}
线性表习题
一、单项选择题
1.线性表是________。
A.一个有限序列,可以为空B.一个有限序列,不可以为空
C.一个无限序列,可以为空D.一个无限序列,不可以为空
2.在一个长度为n的顺序表中删除第i个元素(0<=i<=n)时,需向前移动个元素。
大学数据结构期末考试试题(有答案)
“数据结构”期末考试试题
一、单选题(每小题2分,共12分)
1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=ps p一>next=HL
B. p一>next=HL;HL=p3
C. p一>next=Hl;p=HL;
D. p一>next=HL一>next;HL一>next=p;
2.n个顶点的强连通图中至少含有( )。
A.n—l条有向边
B.n条有向边
C.n(n—1)/2条有向边
D.n(n一1)条有向边
3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.O(1)
B.O(n)
C.O(1Ogzn)
D.O(n2)
4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.24 B.48
C. 72 D. 53
5.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形
B.引用型
C.指针型
D.常值引用型·
6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)
C.O(n2) D.O(10g2n)
二、填空题(每空1分,共28分)
1.数据的存储结构被分为——、——、——和——四种。
2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。
3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。
4.在一棵高度为h的3叉树中,最多含有——结点。
数据结构期末复习习题
中序
7. 在一组记录的关键字为{46,79,56,38,40,84}, 利用快速排序的方法,以第1个记录为基准得到 的第一次划分结果为_________
40,38,46,56,79,84
8. 设n为3的倍数,分析以下算法的时间复杂度 void fun(int n) { int i, j, x, y; for(i=1; i<=n; i++) if(3*i<=n) for(j=3*i;j<=n;j++) { x++; y = 3*x+2; n(n 1) n/3 n n/3 } 2 1 = ( n 3 i + 1 ) = = O ( n ) } 6
D
ASL成功=37/12,ASL失败=49/13
43. 有一个长度为12的有序表R[0...11],按二分 查找法对该表进行查找,在表内各元素等概率 情况下查找成功和查找失败所需的平均比较次 数是多少?
5 2 8
0
1
3 4
6 7 9
10
11
44. 已知一棵完全二叉树的第6层(设根为第一层) 有8个叶子节点,则该完全二叉树的节点个数最 多是________ A. 39 B. 52 C. 111 D. 119
35,19
51. 假定一棵二叉树的节点数为22,则它的最小 深度为_____,最大深度为_______
数据结构期末复习题库(215道)
数据结构期末复习
1、算法分析的目的是分析算法的效率以求改进,算法分析的两个主要方面是()——[单选题]
A 空间复杂性和时间复杂性
B 正确性和简明性
C 可读性和文档性
D 数据复杂性和程序复杂性
正确答案:A
2、两类存储结构为()——[单选题]
A 线性结构和非线性结构
B 逻辑结构和非逻辑结构
C 顺序结构和链式结构
D 逻辑结构和物理结构
正确答案:C
3、计算机算法指的是解决问题的有限运算序列,它必具备输入、输出和()等五个特性。——[单选题]
A 可行性、可移植性和可扩充性
B 可行性、确定性和有穷性
C 确定性、有穷性和稳定性
D 易读性、稳定性和安全性
正确答案:B
4、在 C 语言中,有一种适用于不同数据类型构成的数据的结构称为()——[单选题]
A 结构体
B 数组
C 变量
D 常量
正确答案:A
5、在定义数组 int a[10]后,需要访问数组中第 3 个元素,正确的是()——[单选题]
A a[0]
B a[1]
C a[2]
D a[3]
6、分析以下程序段,其时间复杂度为 T(n)=() for( i =0; i<n;
i++)For(j=0;j<i;j++) A[i][j] = 0;——[单选题]
A O(n)
B O(n^2)
C O(n^3)
D O(1)
正确答案:B
7、数据元素之间存在一对多的关系,这种数据间的结构属于()——[单选题]
A 集合
B 线性结构
C 树型结构
D 图型结构
正确答案:C
8、有一个结构体及其变量定义如下: struct date{Int year; int month; int
《数据结构》期末复习题及参考答案
《数据结构》复习资料
一单选题 (共48题,总分值0分 )
1. 设用链表作为栈的存储结构,则退栈操作(0 分)
A. 必须判别栈是否为满
B. 必须判别栈是否为空
C. 判别栈元素的类型
D. 对栈不作任何判别
2. 下面关于m阶B树说法正确的是()。
①每个结点至少有两棵非空子树;②树中每个结点至多有m-1个关键字;
③所有叶子在同一层上;④当插入一个数据项引起B树结点分裂后,树长高一层。(0 分)
A. ①②③
B. ②③
C. ②③④
D. ③
3. 下列关于文件的说法,错误的是()。(0 分)
A. 选择文件的组织方式时应考虑外存的性质和容量
B. 不定长文件指的是总长度可变的文件
C. 对文件的操作主要是维护和检索
D. 文件的存储结构指的是文件在外存上的组织方式
4. 设无向图的顶点个数为n,则该图最多有()条边。(0 分)
A. n-1
B. n(n-1)/2
C. n(n+1)/2
D. n2
5. 设广义表L=((a,()),b,(c,d,e)),则Head(Tail(Tail(L)))的值为()。(0 分)
A. b
B. c
C. (c)
D. (c,d,e)
6. 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每
个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。(0 分)
A. 688
B. 678
C. 692
D. 696
7. 设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为(0 分)
A. n
B. e
数据结构期末考试复习题.doc
第1章绪论
1. 填空
(1)()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
【解答】数据元素
(2)()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。
【解答】数据项,数据元素
【分析】数据结构指的是数据元素以及数据元素之间的关系。
(3)从逻辑关系上讲,数据结构主要分为()、()、()和()。
【解答】集合,线性结构,树结构,图结构
(4)数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。
【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系
(5)算法具有五个特性,分别是()、()、()、()、()。
【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性
(6)在一般情况下,一个算法的时间复杂度是()的函数。
【解答】问题规模
(7)设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。
【解答】Ο(1),Ο(nlog2n)
【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。
2. 选择题
⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。
A 线性结构
B 非线性结构
C 存储位置
D 指针
【解答】C,D
【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题一绪论
1. AB
2. BD
3. C
4. AB
5. CA
6. CB
7. B
8. D
9. B 10. B
.1.1 单项选择题
1. 数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。
①A.操作对象B.计算方法C.逻辑存储D.数据映象
②A.结构B.关系C.运算D.算法
2. 数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②有限集合。
①A.算法B.数据元素C.数据操作D.逻辑结构
②A.操作B.映象C.存储D.关系
3. 在数据结构中,从逻辑上可以把数据结构分成①。
A.动态结构和静态结构B.紧凑结构和非紧凑结构
C.线性结构和非线性结构D.内部结构和外部结构
4. 线性表的顺序存储结构是一种①的存储结构,线性表的链式存储结构是一种②的存储结构。
A.随机存取B.顺序存取C.索引存取D.散列存取
5. 算法分析的目的是①,算法分析的两个主要方面是②。
① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系
C. 分析算法的效率以求改进
D. 分析算法的易懂性和文档性
② A.空间复杂性和时间复杂性 B. 正确性和简明性
C. 可读性和文档性
D. 数据复杂性和程序复杂性
6. 计算机算法指的是①,它必具备输入、输出和②等五个特性。
①A. 计算方法 B. 排序方法
C. 解决问题的有限运算序列
D. 调度方法
②A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性
C. 确定性、有穷性和稳定性
D. 易读性、稳定性和安全性
7. 线性表的逻辑顺序与存储顺序总是一致的,这种说法①。
A. 正确
B.不正确
8. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址①。
A. 必须是连续的
B. 部分地址必须是连续的
C. 一定是不连续的
D. 连续或不连续都可以
9. 在以下的叙述中,正确的是①。
A.线性表的线性存储结构优于链表存储结构
B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出
D.队列的操作方式和先进后出
10. 每种数据结构都具备三个基本运算:插入、删除和查找,这种说法①。
A. 正确
B. 不正确
1.2 填空题(将正确的答案填在相应的空中
1. 数据逻辑结构包括①、②和③三种类型,树形结构和图形结构合称为④。
2. 在线性结构中,第一个结点①前驱结点,其余每个结点有且只有②个前驱结点;最后一个结点③后续结点,其余每个结点有且只有④个后续结点。
3. 在树形结构中,树根结点没有①结点,其余每个结点有且只有②个前驱结点,叶子结点没有③结点,其余每个结点的后续结点可以④。
4. 在图形结构中,每个结点的前驱结点数和后续结点数可以①。
5. 线性结构中元素之间存在①关系,树形结构中元素之间存在②关系,图形结构中元素之间存在③关系。
6. 算法的五个重要特性是____ ____ ____ ____ ____。
7. 下面程序段的时间复杂度是①。
for (i=0;i for (j=0;j A[i][j]=0; 8. 下面程序段的时间复杂度是①。 i=s=0; while (s { i++; /*i=i+1*/ s+=i; /*s=s+1*/ } 9. 下面程序段的时间复杂度是①。 s=0; for (i=0;i for (j=0;j s+=B[i][j]; sum=s; 10. 下面程序段的时间复杂度是①。 i=1; while (i<=n) i=i*3; 1.3 算法设计题: 1. 试写一算法,自大到小依次输出顺序读入的三个数X,Y和Z的值. 习题答案 1.1 1. AB 2. BD 3. C 4. AB 5. CA 6. CB 7. B 8. D 9. B 10. B 1.2 1. 线性结构、树形结构、图形结构、非线性结构 2. 没有、1、没有、1 3. 前驱、1、后续、任意多个 4. 任意多个 5. 一对一、一对多、多对多 6. 有穷性、确定性、可行性、输入、输出 7. O(m*n) 8. O (n 1 2) 9. O (n2) 10. log3n 习题二顺序表示(线性表、栈和队列) 2.1 单项选择题 1. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是____。 A. 110 B. 108 C. 100 D. 120 2. 一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是____。 A. edcba B. decba C. dceab D. abcde 3. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为____。 A. i B. n=i C. n-i+1 D. 不确定 4. 栈结构通常采用的两种存储结构是____。 A.顺序存储结构和链式存储结构 B.散列方式和索引方式 C.链表存储结构和数组 D.线性存储结构和非线性存储结构 5. 判定一个栈ST(最多元素为m0)为空的条件是____。 A. ST—> top !=0 B. ST—> top= =0 C. ST—> top !=m0 D. ST—> top= =m0 6. 判定一个栈ST(最多元素为m0)为栈满的条件是____。 A. ST—> top!=0 B. ST—> top= =0 C. ST—> top!=m0 D. ST—> top= =m0 7. 栈的特点是____,队列的特点是____。 A. 先进先出 B. 先进后