当前位置: 首页 > article >正文

数据结构测试题2

一、单选题(每题 2 分,共20分)

1. 栈和队列的共同特点是(  A  )。

A.只允许在端点处插入和删除元素

B.都是先进后出

C.都是先进先出

D.没有共同点

2. 用链接方式存储的队列,在进行插入运算时(  C  )

A. 仅修改头指针 B. 头、尾指针都要修改

C. 仅修改尾指针 D.头、尾指针可能都要修改

3. 以下数据结构中哪一个是非线性结构?(  D  )

A. 队列 B. 栈 C. 线性表 D. 二叉树

4. 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。(  C  )

A.688 B.678 C.692 D.696

5. 树最适合用来表示(  C  )。

A.有序数据元素 B.无序数据元素

C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据

6. 二叉树的第k层的结点数最多为(   D  ).

A.2k-1 B.2K+1 C.2K-1 D. 2k-1

7. 若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为(  D  )

A. 1,2,3 B. 9,5,2,3

C. 9,5,3 D. 9,4,2,3

二、填空题(每空1分,共26分)

1. 通常从四个方面评价算法的质量:____正确性_____、____可读性_____、____健壮性____和____低存储量____。

2. 一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为___O(n)___。

3. 若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。在这种存储结构中,n个结点的二叉树共有____2n____个指针域,其中有____n-1____个指针域是存放了地址,有____n+1____个指针是空指针。

三、编程题

1、先序创建如下二叉树,并对其进行先序、中序和后序遍历,并求出二叉树的总结点数。

2、自己手动创建顺序表,假设顺序表L中的元素为有序递增的,试写一算法,将数据元素X插入到顺序表L中,以保持该顺序表的有序性。

3、试写一个算法,在带头节点的单链表L的元素前插入一个节点Y.

4、试写一个算法,统计带头指针的单链表L的元素个数。

5、建立企业员工信息链表,实现员工信息的输入、删除、查询、和统计员工人数的功能。

提示:链表结构定义如下:

struct stud_node {
    int              num;     /*工号*/
    char             name[20]; /*姓名*/
    int              score;    /*绩效*/
    struct stud_node *next;    /*指向下个结点的指针*/
};

单向链表的头尾指针保存在全局变量head和tail中。

输入若干个员工信息(工号、姓名、绩效),当输入工号为0时,输入结束。

6、要求实现一个合并两个链表的简单函数,两个链表自行创建填充,合并后,将新链表内容输出即可

7、定义一个栈,实现栈的基本操作。比如栈的删除和插入。


http://www.kler.cn/a/518658.html

相关文章:

  • tmp记录
  • 页高速缓存与缓冲区缓存的应用差异
  • 想品客老师的第六天:函数
  • 几种不常用的 MyBatis 写法
  • CVPR 2024 无人机/遥感/卫星图像方向总汇(航空图像和交叉视角定位)
  • 32、【OS】【Nuttx】OSTest分析(1):stdio测试(二)
  • day1代码练习
  • 在 DevOps 实践中,如何构建自动化的持续集成和持续交付(CI/CD)管道,以提高开发和测试效率?
  • 浅谈Redis
  • c语言分支和循环
  • ros动态调参界面的修改
  • Linux内核中IPoIB驱动模块的初始化与实现
  • 什么是COLLATE排序规则?
  • WPF基础 | WPF 基础概念全解析:布局、控件与事件
  • 2025-01-22 Unity Editor 1 —— MenuItem 入门
  • 2025美赛数学建模MCM/ICM选题建议与分析,思路+模型+代码
  • 寒假1.23
  • springboot图书馆管理系统前后端分离版本
  • 程序员转型测试:解锁漏洞挖掘新旅程
  • Ubuntu终端CTRL+S被锁定后解锁快捷键
  • 【音视频处理】FFmpeg for Windows 安装教程
  • PHP explode函数基本用法
  • 数巅科技连续中标大模型项目 持续助力央国企数智化升级
  • 【机器学习】使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测
  • 【机器学习】使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测
  • 加速排查线上bug