数据结构 期末复习(1) 数据结构基本概念与顺序表基本操作

数据结构基本概念与顺序表基本操作

判断题

  1. 若用链表来表示一个线性表,则表中元素的地址一定是连续的。F

解析:存储方式为链式存储,地址可以是连续的也可以是分散的。

  1. 抽象数据类型中基本操作的定义与具体实现有关。F

解析:!!抽象数据类型、存储结构定义

单选题

  1. 在数据结构中,与所使用的计算机无关的数据结构是(A)
    A. 逻辑结构
    B. 存储结构
    C. 逻辑结构与存储结构
    D. 物理结构

  2. 从物理存储上可以把数据结构分为 B
    A. 动态结构、静态结构
    B. 顺序结构、链式结构
    C. 线性结构、树形结构、图形结构和集合结构
    D. 基本结构、构造型结构

  3. 下列关于数据的逻辑结构的叙述中,(A)是正确的。
    A. 数据的逻辑结构是数据元素间关系的描述
    B. 数据的逻辑结构反映了数据在计算机中的存储方式
    C. 数据的逻辑结构分为顺序结构和链式结构
    D. 数据的逻辑结构分为静态结构和动态结构

  4. 图形结构中元素之间存在(C)关系。
    A. 一对一
    B. 一对多
    C. 多对多
    D. 多对一

  5. 以下说法正确的是(D)。
    A. 数据元素是数据的最小单位
    B. 数据项是数据的基本单位
    C. 数据结构是带有结构的各数据项的集合
    D. 一些表面上很不相同的数据可以有相同的逻辑结构

  6. 数据的(B)包括集合、线性结构、树形结构和图形结构四种基本类型。
    A. 存储结构
    B. 逻辑结构
    C. 基本运算
    D. 算法描述

  7. 在决定选取何种存储结构时,一般不考虑(A)
    A. 各结点的值如何
    B. 结点个数的多少
    C. 对数据有哪些运算
    D. 所用编程语言实现这种结构是否方便

  8. 数据结构是一门研究非数值计算的程序设计问题中计算机的(A)以及它们之间的关系和运算等的学科。
    A. 操作对象
    B. 计算方法
    C. 逻辑存储
    D. 数据映象

  9. 数据在计算机内存中的表示是指(A)。
    A. 数据的存储结构(即物理结构)
    B. 数据结构
    C. 数据的逻辑结构
    D. 数据元素之间的关系

  10. 树形结构中元素之间存在(B)关系。
    A. 一对一
    B. 一对多
    C. 多对多
    D. 多对一

  11. 线性结构中元素之间存在()关系。
    A. 一对一
    B. 一对多
    C. 多对多
    D. 多对一

知识点补充

逻辑结构

  1. 集合结构:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系
  2. 线性结构:数据结构中的元素存在一对一的相互关系
  3. 树形结构:数据结构中的元素存在一对多的相互关系
  4. 图形结构:数据结构中的元素存在多对多的相互关系

物理结构(存储结构)

  1. 顺序存储结构:一段连续的内存空间。
    • 优点:随机访问
    • 缺点:插入删除效率低,大小固定
  2. 链式存储结构:不一定连续的内存空间。
    • 优点:大小动态扩展,插入删除效率高
    • 缺点:不能随机访问。
  3. 索引存储结构:为了方便查找,整体无序,但索引块之间有序,需要额外空间,存储索引表。
    • 优点:对顺序查找的一种改进,查找效率高
    • 缺点:需额外空间存储索引
  4. 散列存储结构:选取某个函数,数据元素根据函数计算存储位置可能存在多个数据元素存储在同一位置,引起地址冲突。
    • 优点:查找基于数据本身即可找到,查找效率高,存取效率高。
    • 缺点:存取随机,不便于顺序查找。

动态数据结构与静态数据结构

数据结构通常基于计算机在内存中的任何位置获取和存储数据的能力,由指针指定的一个位串,表示一个内存地址,它可以存储在内存中,并由程序操作。因此,数组和记录数据结构基于计算数据项的地址和算术运算;而链接的数据结构则是基于在结构内部存储数据项的地址。

  1. 静态数据结构:特点是由系统分配固定大小的存储空间,以后在程序运行的过程中,存储空间的位置和容量都不会再改变。
  2. 动态数据结构:不确定总的数据存储量,而是为现有的每一个数据元素定义一个确定的初始大小的空间,若干个数据元素分配若干个同样大小的空间;当问题的数据量发生变化时,数据的存储空间的大小也发生变化。如果数据量增加,就重新向系统申请新的空间;如果数据量减少,就将现有的多余的空间归还给系统;使用时候才能明确所使用的数据有哪些属性字段,这些属性字段是什么类型的,无需提前明确定义每一个属性字段的名字、类型、所属层级。
  3. 总结:静态数据结构需要系统提前余留空间,而动态数据结构则是根据解析方法解析得到数据并自由分配存储空间,那么相对于静态数据结构,动态数据结构的冗余小很多。

猜你喜欢

转载自www.cnblogs.com/LYT-Dveloper/p/11946753.html