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

数据结构自测题1

第一章概论 自测题答案

一、填空题

  1. 数据结构被形式地定义为(D, R),其中D是 数据元素 的有限集合,R是D上的 关系 有限集合。

  2. 数据结构包括数据的 逻辑结构 、数据的 存储结构 和数据的 运算 这三个方面的内容。

  3. 数据结构按逻辑结构可分为两大类,它们分别是 线性结构 和 非线性结构 。

  4. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
    5. 在线性结构中,第一个结点 没有 前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点 没有 后续结点,其余每个结点有且只有1个后续结点。

  5. 在树形结构中,树根结点没有 前驱 结点,其余每个结点有且只有 1 个前驱结点;叶子结点没有 后续 结点,其余每个结点的后续结点数可以任意多个 。

  6. 在图形结构中,每个结点的前驱结点数和后续结点数可以 任意多个 。
    8.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序 、 链式 、 索引 和 散列 。

  7. 数据的运算最常用的有5种,它们分别是插入 、 删除、修改、 查找 、排序。

  8. 一个算法的效率可分为 时间 效率和 空间 效率。
    11.任何一个C程序都由 一个主函数 和若干个被调用的其它函数组成。
    二、单项选择题
    ( B )1. 非线性结构是数据元素之间存在一种:
    A)一对多关系 B)多对多关系 C)多对一关系 D)一对一关系
    ( C )2. 数据结构中,与所使用的计算机无关的是数据的 结构;
    A) 存储 B) 物理 C) 逻辑 D) 物理和存储
    ( C )3. 算法分析的目的是:
    A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系
    C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性
    ( A )4. 算法分析的两个主要方面是:
    A) 空间复杂性和时间复杂性 B) 正确性和简明性
    C) 可读性和文档性 D) 数据复杂性和程序复杂性
    ( C )5. 计算机算法指的是:
    A) 计算方法 B) 排序方法 C) 解决问题的有限运算序列 D) 调度方法
    ( B )6. 计算机算法必须具备输入、输出和 等5个特性。
    A) 可行性、可移植性和可扩充性 B) 可行性、确定性和有穷性
    C) 确定性、有穷性和稳定性 D) 易读性、稳定性和安全性
    三、简答题
    1.数据结构和数据类型两个概念之间有区别吗?
    答:简单地说,数据结构定义了一组按某些关系结合在一起的数组元素。数据类型不仅定义了一组带结构的数据元素,而且还在其上定义了一组操作。

  9. 简述线性结构与非线性结构的不同点。
    答:线性结构反映结点间的逻辑关系是 一对一的,非线性结构反映结点间的逻辑关系是多对多的。

四、分析下面各程序段的时间复杂度

  1. for (i=0; i<n; i++)
    for (j=0; j<m; j++)
    A[i][j]=0;
    答:O(m*n)
  2. s=0;
    for i=0; i<n; i++)
    for(j=0; j<n; j++)
    s+=B[i][j];
    sum=s;

答:O(n2)
3. x=0;
for(i=1; i<n; i++)
for (j=1; j<=n-i; j++)
x++;
解:因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)
在这里插入图片描述
4. i=1;
while(i<=n)
i=i*3;
答:O(log3n)


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

相关文章:

  • Python的秘密基地--[章节2]Python核心数据结构
  • macOS运行amd64的镜像
  • TIE算法具体求解-为什么是泊松方程和傅里叶变换
  • 8. Debian系统中显示屏免密码自动登录
  • lua download
  • 云服务器和物理服务器租用哪个好?
  • Qt 5 中的 QTextStream 使用指南
  • 接口自动化测试框架(pytest+allure+aiohttp+用例自动生成)
  • 正则表达式解析
  • ceph mon 数据重建
  • yt6801 ubuntu有线连接驱动安装
  • vue前端 下载、预览图片
  • 【Unity】【游戏开发】【VR】如何解决脚本不在同一个项目无法引用Public变量的问题
  • Epsilon2系列战术级微型惯性RTK卫星高精度组合导航系统0.5°/h
  • 开发中使用UML的流程_06 PIM-2:分析业务规则
  • Lumos学习王佩丰Excel第十九讲:Indirect函数
  • 《NGINX金典教程》读书笔记
  • 什么是敏捷(Agile)开发?Scrum和Kanban有什么关系?
  • 【Leetcode Top 100】2. 两数相加
  • 海康gige工业相机无驱动取像突破(c#实现,最后更新,你也可以移植到linux下去用)
  • 蓝桥杯第 23 场 小白入门赛
  • Spring Boot项目的创建
  • 微服务搭建----springboot接入Nacos2.x
  • 【Java基础面试题009】Java的I/O流是什么?
  • 160-两路14位400Msps AD,两路16位400Msps DA FMC子卡模块
  • 基于PySpark 使用线性回归、随机森林以及模型融合实现天气预测