自考题库
首页
所有科目
自考历年真题
考试分类
关于本站
游客
账号设置
退出登录
注册
登录
出自:国家开放大学数据结构复习题
把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为( )。
A. 给相关变量分配存储单元
B. 物理结构
C. 算法的具体实现
D. 逻辑结构
下列说法中,不正确的是( )。
A. 数据项是数据中不可分割的最小可标识单位
B. 数据元素是数据的基本单位
C. 数据可有若干个数据元素构成
D. 数据项可由若干个数据元素构成
一个存储结点存储一个( )。
A. 数据元素
B. 数据结构
C. 数据项
D. 数据类型
数据结构中,与所使用的计算机无关的是数据的( )。
A. 存储结构
B. 物理和存储结构
C. 物理结构
D. 逻辑结构
下列的叙述中,不属于算法特性的是( )。
A. 可行性
B. 输入性
C. 可读性
D. 有穷性
算法的时间复杂度与( )有关。
A. 计算机的操作系统
B. 算法本身
C. 数据结构
D. 所使用的计算机
下面程序段的时间复杂度是( )。
i=s=0;
while (s<n){
i++;
s+=i;
}
A.O(n0.5) B. O(log2n) C. O(n) D.O(1)
下面程序段的时间复杂度是( )。
int f(unsigned int n){
if (n==0||n==1) return 1;
else return n*f(n-1);
}
A.O(1) B. O(log2n) C. O(n!) D. O(n)
在数据结构中,从逻辑上可以把数据结构分为( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.内部结构和外部结构 D.线性结构和非线性结构
执行下面程序段时,执行S语句的次数为( )。
for (int i=1;i<=n;i++)
for (int j=1;i<=i;j++)
S;
A.n2 B.n2/2 C.n(n+1) D.n(n+1)/2
数据的存储结构包括数据元素的表示和( )。
A. 数据元素间的关系的表示
B. 数据处理的方法
C. 数据元素的类型
D. 相关算法
树状结构中数据元素的位置之间存在( )的关系。
A. 一对一
B. 多对多
C. 每一个元素都有一个直接前驱和一个直接后继
D. 一对多
一种逻辑结构( )。
A. 与存储该逻辑结构的计算机相关
B. 只能有唯一的存储结构
C. 可以有不同的存储结构
D. 是指某一种数据元素的性质
把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为( )。
A. 逻辑结构
B. 数据元素的存储
C. 存储结构
D. 给数据元素分配存储空间
数据元素是数据的最小单位。
数据的逻辑结构是指各数据元素之间的逻辑关系,是用户根据应用需要建立的。
算法和程序原则上没有区别,在讨论数据结构时二者是通用的。
数据的逻辑结构与数据元素本身的内容和形式无关。
算法和程序都应具有下面一些特征:有输入,有输出,确定性,有穷性,有效性。
只有用面向对象的计算机语言才能描述数据结构算法
数据元素可以有一个或多个数据项组成。
数据元素之间的抽象关系称为物理结构。
数据的逻辑结构在计算机中的表示称为逻辑结构。
数据的逻辑结构是与存储该结构的计算机相关的。
数据结构中,元素之间存在多对多的关系称为树状结构。
通常可以把某城市中各公交站点间的线路图抽象成树型结构
通常可以把一本含有不同章节的书的目录结构抽象成线性结构
结构中的数据元素存在多对多的关系称为图形结构
数据结构中,数据可以由一个或多个数据项组成。
指出下列各算法的时间复杂度。
1、int prime(int n)
{
int i=1;
int x=(int) sqrt(n);
while (++i<=x)
if (n %i= =0) break;
if (i>x) return 1;
else return 0;
}
int suml(int n)
{
int p=1,s=0;
for (int i=1; i<=n; i++) {
p*=i;
s+=p;
}
return s;
}
int sum2(int n)
{
int s=0;
for (int I=1; I<=n; I++) {
int p=1;
for (int j=1; j<=I; j++)
p*=j;
s+=p;
}
return s;
}
int fun (int n)
{
int I=1, s=1;
while (s<n)
s+=++I;
return I;
}
设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为( )。
A. n-i B. n-i-1 C. n-i+1 D. i
设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为( )。A. I B. n-i-1 C. n-i D. n-i+1
在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句( )。
A. q->next=NULL B. p->next=q->next
C. p=q->next D. p->next=q
在一个单链表中p所指结点之后插入一个s所指的结点时,可执行( )。
A. p->next= s; s->next= p->next B. p->next=s->next;
C. s->next=p->next; p->next=s; D. p=s->next
非空的单向循环链表的尾结点满足( )(设头指针为head,指针p指向尾结点)。
A. p->next==head B. p==NULL
C. p== head D. p->next==NULL
链表不具有的特点是( )。
A. 不必事先估计存储空间
B. 可随机访问任一元素
C. 逻辑上相邻的元素在物理位置上不一定相邻
D. 插入删除不需要移动元素
带头结点的链表为空的判断条件是( )(设头指针为head)。
A. head->next==head
B. head ==NULL
C. head->next==NULL
D. head!=NULL
在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表的长度为( )。
A. 19 B. 21 C. 20 D. 25
有关线性表的正确说法是( )。
A. 线性表至少要求一个元素
B. 每个元素都有一个直接前驱和一个直接后继
C. 表中的元素必须按由小到大或由大到下排序
D. 除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继
向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动( )个元素。
A. 63.5 B. 7
C. 63 D. 8
一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的地址是( )。
A. 106 B. 98
C. 102 D. 100
在一个不带头结点的单循环链表中,p、q分别指向表中第一个结点和尾结点,现要删除第一个结点,且p、q仍然分别指向新表中第一个结点和尾结点。可用的语句是p=p->next;和( )。
A. q->next=p B. p->next=q
C. q=p D. p=q->next
在线性表的顺序结构中,以下说法正确的是( )。
A. 逻辑上相邻的元素在物理位置上不一定相邻
B. 数据元素是不能随机访问的
C. 进行数据元素的插入、删除效率较高
D. 逻辑上相邻的元素在物理位置上也相邻
对链表, 以下叙述中正确的是( )。
A. 不能随机访问任一结点
B. 插入删除元素的操作一定要要移动结点
C. 结点占用的存储空间是连续的
D. 可以通过下标对链表进行直接访问
设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为( )。
A. n-i+1 B. i
C. n-i-1 D. n-i
在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行_________。
A. HL=p;p->next=HL;
B. p->next=HL;HL=p;
C. p->next=HL;p=HL;
D. p->next=HL->next;HL->next=p;
在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则以下操作哪个是正确的( )。
A. s->next=p->next;p->next=s;
B. p->next=s->next;s->next=p;
C. p->next=s;s->next=q;
D. q->next=s;s->next=p;
首页
<上一页
1
2
3
4
5
下一页>
尾页