VTK编程可以用C语言吗,数据结构(C语言版)选择、填空题(1)

一 概论

选择

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、A算法的时间复杂度为O(n^3),B算法的时间复杂度为O(2^n),则说明(

)。  A、对于任何数据量,A算法的时间开销都比B算法小

B、随着问题规模n的增大,A算法比B算法有效  C、随着问题规模n的增大,B算法比A算法有效  D、对于任何数据量,B算法的时间开销都比A算法小

填空

1、数据的( )结构依赖于计算机语言.

2、数据的逻辑结构可分为线性结构和(

)结构。

3、算法的时间复杂度与问题的规模有关外,还与输入实例的(

)有关。

4、常用的四种存储方法是什么?

5、常见的数据的逻辑结构有哪两种?

6、一般,将算法求解问题的输入量称为(

)。

二 线性表

选择题

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、在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是(

)。  A、 O(1)  B、 O(n)  C、 O(n^2)  D、 O(log2n)

填空题

1、

线性表是一种典型的(

)结构。

2、

在一个长度为n的顺序表中删除第i个元素,要移动(

)个元素

3、如果要在第i个元素前插入一个元素,要后移(

)个元素。

4、采用(

)存储结构的线性表叫顺序表。

5、顺序表中逻辑上相邻的元素的物理位置( )。

6、在无头结点的单链表中,第1个结点的地址存放在头指针中,其他结点的存储地址存放在(

)结点的next域中。

三 栈和队列

选择

1、栈与一般的线性表的区别在于( )。  A、数据元素的类型不同  B、运算是否受限制  C、数据元素的个数不同  D、逻辑结构不同

2、一个栈的入栈序列是abcde,则栈的不可能的输出序列是( )。

A、Edcba B、 decba C、 dceab D、 abcde

3、在对栈的操作中,能改变栈的结构的是( )。

A、InitStack(S)  B、StackEmpty(S)  C、StackTop(S)  D、StackFull(S)

4、顺序栈的类型定义如下:  typedef maxsize 64;  typedef struct {  int data[maxsize];  int top;}seqstack;  seqstack *s;  顺序栈s栈满条件是( )。  (A)s->top<>0  (B)s->top==maxsize  (C)s->top==maxsize-1  (D)S->top!=maxsize

5、向一个栈顶指针为HS的链栈中将一个S指针所指的结点入栈,执行(

)。  A、HS->next=s;  B、S->next=HS->next;HS->next=s;  C、S->next=HS->next;HS=s;  D、S->next=HS;HS=HS->next;

6、若已知一个栈的入栈序列是1,2,3,…,n,其输出序列是p1,p2,p3,…,pn,若p1=n,则pi=(

)。  A、I  B、n-I  C、n-i+1  D、不确定

填空

1、

在栈中,可进行插入和删除操作的一端称( )。

2、在栈的出栈操作中,要先判断栈是否空,否则会产生( )现象。

3、当程序中同时使用(

)个栈时,让它们共享同一向量空间可减少上溢的发生。

4、栈的特点是(

)。

5、由于链栈的操作只在链表头部进行,所以没有必要设置( )结点。

6、若内存空间充足,(

)栈可不定义栈满运算。

四 串

选择

1、

串是一种特殊的线性表,其特殊性体现在( )。

A、可以顺序存储  B、数据元素是一个字符  C、可以链接存储  D、数据元素可以是多个字符

2、有两个串P和Q,求P和Q中首此出现的位置的运算称( )。

A、连接  B、模式匹配  C、求子串  D、求串长

3、设串s1='ABCDEFG',s2='PQRST',函数con(x,y)返回x和y串的连接串,subs(s,I,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,len(s2)),subs(s1,len(s2),2)))的结果串是(

)。 A、BCDEF B、BCDEFG C、BCPQRST

D、BCDEFEF

4、在串的模式匹配中,一般( )。

A、有效位移的个数大于合法位移的个数  B、有效位移的个数等于合法位移的个数  C、有效位移的个数小于合法位移的个数  D、有效位移和合法位移无关

5、顺序串中,根据空间分配方式的不同,可分为( )。

A、直接分配和间接分配  B、静态分配和动态分配  C、顺序分配和链式分配  D、随机分配和固定分配

填空

1、

在空串和空格串中,长度不为0的是( )。

2、按存储结构不同,串可分为( )。

3、C语言中,以字符(

)表示串值的终结。

4、在链串中,为了提高存储密度,应该增大(

).

5、假设每个字符占1个字节,若结点大小为4的链串的存储密度为50%,则其每个指针占(

)个字节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值