第1章 绪论
1、填空题
1.常见的数据结构有集合,_线性__结构,__树形___结构,__图形__结构等四种。
2.常见的存储结构有__顺序存储_______结构,__链式存储____结构等两种。
3.数据的基本单位是_数据元素___,它在计算机中是作为一个整体来处理的。
4.数据结构中的结构是指数据间的逻辑关系,常见的结构可分为两大类,__线性结构____和__非线性结构___。
2、选择题
1. 算法的计算量的大小称为计算的( B )。
A.效率 B. 复杂性 C. 现实性 D. 难度
2. 算法的时间复杂度取决于(C )
A.问题的规模 B. 待处理数据的初态 C. A和B D. 以上都不对
3.计算机算法指的是(1)(c),它必须具备(2)(B) 这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法
(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性
C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性
4. 下面关于算法说法错误的是( D )
A.算法最终必须由计算机程序实现
B.为解决某问题的算法同为该问题编写的程序含义是相同的
C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的
3、应用题
1、给出以下算法的时间复杂度.
void fun(int n)
{
int i=1,k=100;
while(i<n)
{
k=k+1;
i=i+2;
}
}
时间复杂度为____O(n)_____。
2、给出以下算法的时间复杂度.
void fun2(int n)
{
int i=1,k=100;
while(i<n)
{
i=i*10;
k=k+1;
}
}
时间复杂度为____O(log n)二叉树公式___________。
第2章 线性表
1、填空题
1. 线性表按照存储结构不同主要有两种实现方式,一种是__顺序_表,另一种是___链___表。
2.顺序表采用__随机___访问机制对数据元素进行访问。
3.若在单链表结点p的后面插入一个新的结点s,则其操作序列为:
①____s->next=p->next_____________;
②____p->next=s___________________;
4.在单向链表中,若要删除某个结点p,一般要到__p的前趋__结点,才能实现该操作。
2、选择题
1.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是 A 。
(A)n (B)2n-1 (C)2n (D)n-1
2.在单链表中,如果在结点p之后插入一个新结点s,其操作为 A 。
(A)s->next=p->next; p->next=s;
(B)p->next=s; s->next=p->next;
(C)s->next=p; p->next=s->next;
(D)p->next=s; s->next=p;
3.若长度为n的线性表采用顺序存储结构,在其第i个位置删除一个元素的算法的平均时间复杂度为( C )。(1≤i≤n)
A.O(0) B.O(1) C.O(n) D.O(n2)
4. 若长度为n的线性表采用顺序存储结构,在其第i个位置前插入一个新元素需要移动的元素个数为( B )。(1≤i≤n+1)
A.n-i B.n-i+1 C. i D.n-i-1
3、判断题
1.线性表中每一个元素都有一个前驱和一个后继。( × )
2. 在顺序存储结构中,有时也存储数据结构中元素之间的关系。( × )
3. 顺序存储方式的优点是存储密度大,插入、删除运算效率高。( × )
4、程序设计题
1、单链表的结点结构定义如下:
struct LinkNode
{
LinkNode *next;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论