C语言数据结构考试测试题目,题库+答案解析

简介: C语言数据结构考试试题,题库+答案解析。数据结构中评价算法的两个重要指标是( )。设n为正整数。试确定下列各程序段中前置以记号@的语句的频度:线性表若采用顺序存储结构时,要求内存中可用存储单元的地址( )。单链表中,增加一个头结点的目的是为了( ))向一个栈顶指针为top的链栈中插入一个p所指向的结点时,其操作步骤为( )。有两个串p和q,求q在p中首次出现的位置的运算称为( )。广义表(a,(b,c),d,e)的表尾为 ___________。由3个结点可以构造出( )种不同

1 (单选题)数据结构中评价算法的两个重要指标是(    )。

  • A. 效率、难度
  • B. 可行性、确定性
  • C. 正确性、稳定性
  • D. 时间复杂度、空间复杂度

答案:D

解析:数据结构中评价算法的两个重要指标是时间复杂度空间复杂度

同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。

2  (单选题)设n为正整数。试确定下列各程序段中前置以记号@的语句的频度:

k=0;

for(i=1;i<=n;i++){

for(j=i;j<=n;j++)

   @ k++;

}

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

答案:B

解析:i=1时,第二个for语句执行n次;i=2时,第二个for语句执行n-1次;i=3时,第二个for语句执行n-2次...... i=n时,第二个for语句执行1次。

所以语句频度=n+(n-1)+(n-2)+...+1=n(n+1)/2

3  (单选题)线性表若采用顺序存储结构时,要求内存中可用存储单元的地址(      )。

  • A. 必须是连续的
  • B. 部分地址必须是连续的
  • C. 一定是不连续的
  • D. 连续不连续都可以

答案:A

解析:线性表的顺序存储结构,指的是用一段地址连续的存储单位依次存储线性表的数据元素

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

  • A. 使单链表至少有一个结点
  • B. 标识表结点中首结点的位置
  • C. 方便运算的实现
  • D. 说明单链表是线性表的链式存储

答案:C

解析:单链表添加头结点主要是方便算法的实现,从而在单链表为空与非空时,保持插入与删除操作的一致。

5  (单选题)向一个栈顶指针为top的链栈中插入一个p所指向的结点时,其操作步骤为(   )。

  • A.top->next=p;
  • B.p->next=top->next; top->next=p;
  • C.p->next=top; top=p;
  • D. p->next=top;top=top->next;

答案:C

6  (单选题)有两个串p和q,求q在p中首次出现的位置的运算称为(   )。

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

答案:B

解析:模式匹配是数据结构中字符串的一种基本运算,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串。

7 (单选题)广义表(a,(b,c),d,e)的表尾为 ___________。

  • A. (b,c),d,e
  • B. ((b,c),d,e)
  • C. e
  • D. (e)

答案:B

解析:表尾是由除了表头以外的其余元素组成的广义表,所以,需要在表尾的直接元素外面再加一层括号。

8 (单选题)由3个结点可以构造出(  )种不同的二叉树。

  • A. 2
  • B. 3
  • C. 4
  • D. 5

答案:D

解析:3个结点可以构成5种形态的二叉树:根左左、根左右、左根右、根右右、根右左。

9 (单选题)利用二叉链表存储树,则根结点的右指针是( )。

  • A. 指向最左孩子
  • B. 指向最右孩子
  • C. 空
  • D. 非空

答案:C

解析:利用二叉链表存储树时,右指针指向兄弟结点,因为根节点没有兄弟结点,故根节点的右指针指向空。

10 (单选题)在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶子结点个数是(  )。

  • A. 41
  • B. 82
  • C. 113
  • D. 122

答案:B

解析:一个森林的所有结点数=(所有结点的度数+n(n棵树,每棵树只有一个根节点)

一个森林的所有叶子结点数=(所有结点的度数+n(n棵树,每棵树只有一个根节点)-m(度数非0的结点个数)

11 (单选题)设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是(  )

  • A. 空或只有一个结点
  • B. 任一结点无左孩子
  • C. 任一结点无右孩子
  • D. 任一结点无左孩子或者无右孩子

答案:D

解析:先序遍历顺序是:M-L-R,后序遍历顺序是:L-R-M,可以看到,只有中间的结点(M)顺序变化了,左右结点相对位置是不变的; 那可以推断出,要满足题意的话“二叉树的先序序列与后序序列正好相反”,说明整个二叉树左子树或者右子树有一个没有...”

12 (单选题)表达式a*(b+c/d)的后缀表达式是(    )。

  • A. abcd/+*
  • B. abc+*d/
  • C. abc*+d/
  • D. /+*abcd

答案:A

解析:先把每一步运算都加一个括号:(a*(b+(c/d)))

再把括号内的运算符移到括号外:(a(b(cd)/)+)*

最后把括号去掉:abcd/+*

13 (单选题)对于一个包含n个结点的树,用二叉链表存储时,其指针总数为(    )个。

  • A. n-1
  • B. n
  • C. n+1
  • D. 2n

答案:D

解析:对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为 2n 个

14 (单选题)在有向图中每个顶点的度等于该顶点的(      )。

  • A. 入度      
  • B. 出度
  • C. 入度与出度之和
  • D. 入度与出度之差

答案:C

解析:在有向图中,对于一个顶点,该结点的度等于顶点的入度+顶点的出度, 该结点的弧头数目称为入度,记为ID (v);结点的弧尾数目称为出度,记为OD (v),即TD (v)=ID (v)+OD (v):

15 (单选题)连通分量是(    )极大连通子图 。

  • A. 图
  • B. 树
  • C. 有向图
  • D. 无向图

答案:D

解析:无向图的极大连通子图称为的连通分量(ConnectedComponent)。任何连通图的连通分量只有一个,即是其自身,非连通的无向图有多个连通分量。

相关文章
|
4月前
|
存储 机器学习/深度学习 算法
C 408—《数据结构》图、查找、排序专题考点(含解析)
408考研——《数据结构》图,查找和排序专题考点选择题汇总(含解析)。
161 29
|
4月前
|
存储 机器学习/深度学习 人工智能
C 408—《数据结构》易错考点200题(含解析)
408考研——《数据结构》精选易错考点200题(含解析)。
250 27
|
7月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
163 1
|
7月前
|
存储 消息中间件 NoSQL
Redis数据结构:List类型全面解析
Redis数据结构——List类型全面解析:存储多个有序的字符串,列表中每个字符串成为元素 Eelement,最多可以存储 2^32-1 个元素。可对列表两端插入(push)和弹出(pop)、获取指定范围的元素列表等,常见命令。 底层数据结构:3.2版本之前,底层采用**压缩链表ZipList**和**双向链表LinkedList**;3.2版本之后,底层数据结构为**快速链表QuickList** 列表是一种比较灵活的数据结构,可以充当栈、队列、阻塞队列,在实际开发中有很多应用场景。
|
8月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
133 1
|
8月前
|
网络协议 PHP
软件设计师软考题目解析21 --每日五题
每日五题解析,包括海明码纠错、POP3协议通信模式、中断处理、HTML邮件链接创建和结构化开发方法中的接口设计等知识点。
57 1
|
8月前
|
算法 测试技术
软件设计师软考题目解析24 --每日五题
这篇文章提供了软件设计师软考的每日五题解析,包括测试用例设计、软件维护类型、路径覆盖测试、软件维护工具和系统改进等知识点。
74 0
软件设计师软考题目解析24 --每日五题
|
8月前
|
项目管理
软件设计师软考题目解析20之英语题
软件设计师软考中英语题目的解析和答题技巧,帮助考生攻克英语部分的题目。
96 0
软件设计师软考题目解析20之英语题
|
7月前
|
存储 NoSQL 关系型数据库
Redis的ZSet底层数据结构,ZSet类型全面解析
Redis的ZSet底层数据结构,ZSet类型全面解析;应用场景、底层结构、常用命令;压缩列表ZipList、跳表SkipList;B+树与跳表对比,MySQL为什么使用B+树;ZSet为什么用跳表,而不是B+树、红黑树、二叉树
|
8月前
|
前端开发 数据处理
软件设计师软考题目解析23 --每日五题
每日五题解析,涉及结构化开发方法的特点、数据流图的基本加工、MVC体系结构的优点以及模块间耦合类型的判断等知识点。
70 0

推荐镜像

更多
  • DNS