zoukankan      html  css  js  c++  java
  • 数据结构期末复习第一章绪论

    前言:
    最近快期末了,复习下数据结构,下列习题和答案解析,大部分来源于网络,如有不对之处还请指出。
    在这里,星云祝各位考生期末考试顺利,新年快乐!
    第一章绪论
    1. 数据结构是一门研究非数值计算的程序设计问题中计算机的(操作对象)以及它们之间的(关系)和(操作)的学科。
    2. 下列关于数据结构的基本概念中,叙述正确的是( C )。
    A. 数据元素是数据的最小单位。
    B. 数据的逻辑结构是指数据的各数据项之间的逻辑关系。
    C. 任何一个算法的设计取决于选定逻辑结构,而算法的实现依赖于采用的存储结构。
    D. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
    ---------------------
    解析:
    选项A,错,因为数据项才是数据的不可分隔的最小单位。
    选项B,错,简而言之,逻辑结构就是数据元素间的逻辑关系,而不是数据元素内部的数据项之间的关系
    选项C,对,任何一个算法的设计取决于选定逻辑结构,而算法的实现依赖于采用的存储结构。
    选项D, 错,前一半正确,但后一半说法错误,那是链式存储的优点。顺序存储方式插入、删除运算效率较低,在表长为n的顺序表中,插入和删除一个数据元素,平均需移动表长一半个数的数据元素.
    3. “数据结构”中的“结构”指的是(  D  )。
    A. 数据的值
    B. 数据元素的各数据项之间的关系
    C. 数据的构成
    D. 数据元素之间的关系
    解析:
    “数据结构”中的“结构”是指数据元素之间的关系。
    4.数据的逻辑结构如何描述?
    答:数据结构的形式化定义:
    用一个二元组表示,记为:
               Data_Structure = (D, S)
       其中,D 是数据元素的有限集(即一个数据对象),S是该对象中所有数据元素之间的关系的有限集合。
    5.从逻辑上可以把数据结构分为(C)两大类。
      A.动态结构、静态结构       
      B.顺序结构、链式结构  
      C.线性结构、非线性结构
      D.初等结构、构造型结构
    解析:
    逻辑上可以把数据结构分为线性结构非线性结构
    6.以下哪一个术语与数据的存储结构无关?
      A.双向链表
      B.栈
      C.线索二叉树
      D.哈希表
    解析:
    所谓"存储结构无关"是指既可以用数组实现,又可以用链表实现.从这个意义上讲,
    双向链表、哈希表 是与存储结构有关,因为它们都要用到"链式存储";
    线索二叉树不是线性结构,但是线索化之后据有了线性结构的特点,依赖于"顺序存储"。
    栈与存储结构无关,因为栈的存储既可以用顺序存储如数组实现,也可以用链式存储实现。
    7.下列数据结构,( C )是非线性数据结构。
      A.队列
      B.栈
      C.二叉树
      D.字符串
    解析:
    根据数据结构中各数据元素之间前后关系的复杂度,一般将数据结构分为两大类:线性结构和非线性结构。
    线性结构表示数据元素之间一对一的关系,非线性结构表示数据元素之间一对多或者多对一的关系,
    根据各种结构的定义可知二叉树是一种非线性结构。
    8. 下述(A )是顺序存储方式的优点。
      A.存储密度大
      B.插入运算方便
      C.删除运算方便
      D.数据元素交换方便
    解析:
    顺序存储方式的优点主要有:存储密度大,存储空间利用率高,便于随机存储。
    由于顺序存储方式在插入和删除运算时会引起大量节点的移动,因此不利于经常性的执行插入和上次运算。选项B、C叙述是错误的。
    又由于顺序存储是依靠元素的物理位置来反应元素之间的逻辑关系,因此对一些逻辑结构比较复杂的数据,直接存储比较困难。
    综上所述,选项A是正确答案。
    9.抽象数据类型如何描述?
    答:抽象数据类型可用三元组(D,S,P)表示,其中,D是数据对象,S是D上的关系集,P是对D的基本操作集。
        ADT 抽象数据类型名 {
          数据对象:〈数据对象的定义〉
          数据关系:〈数据关系的定义〉
          基本操作:〈基本操作的定义〉
           } ADT 抽象数据类型名
    10.一个算法应该是( B)。
       A.程序
       B.问题求解步骤的描述
       C.要满足五个基本特性
       D.A和C.
    解析:
    算法是对特定问题求解步骤的一种描述,它有五个重要特性:1.有穷性2.确定性3.可行性4.输入5.输出
    11.某算法的时间复杂度为O(n2),表明该算法的(C)
    A 问题规模是n2
    B 执行时间等于n2
    C 执行时间与n2成正比
    D 问题规模与n2成正比
    解析:
    时间复杂度为O(n2),说明算法的执行时间T(n)<=c * n2(c为比例常数),
    即T(n)=O(n2),时间复杂度T(n)是问题规模n的函数,其问题规模仍然是n而不是n2。
     
  • 相关阅读:
    设计模式之享元模式
    延时任务的实现
    Git代码分支开发工作流程
    设计模式之责任链模式
    Docker 三剑客 到 k8s 介绍
    写操作系统之实现进程
    写操作系统之开发加载器
    写操作系统之开发引导扇区
    写操作系统之搭建开发环境
    怎么实现系统调用wait和exit
  • 原文地址:https://www.cnblogs.com/xingyunblog/p/4221986.html
Copyright © 2011-2022 走看看