数据结构 期末复习 —— 数据结构基本概念与顺序表基本操做

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

判断题

  1. 若用链表来表示一个线性表,则表中元素的地址必定是连续的。F
  2. 抽象数据类型中基本操做的定义与具体实现有关。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. 数据元素之间的关系code

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

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

函数题

PTA题目地址

知识点

逻辑结构

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

物理结构(存储结构)

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

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

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

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

数据及其相关概念

  1. 数据:程序的操做对象,用于描述客观事物
    • 数据的特色:
      • 能够输入到计算机
      • 能够被计算机程序处理
      • 数据是一个抽象的概念,将其进行分类后获得程序设计语言中的类型。如:int,float,char等等
  2. 数据项:一个数据元素由若干数据项组成
  3. 数据元素:组成数据对象的基本单位
  4. 数据对象:性质相同的数据元素的集合(相似于数组通常)
  5. 数据元素之间不是独立的,存在特定的关系,这些关系即结构。数据结构指数据对象中数据元素之间的关系

例如:

struct Teacher   //一种数据类型
{
    char    name[32];//数据项
    char    tile[32];//数据项
    int     age;//数据项
    char    addr[128];//数据项
};

int main()
{
    struct Teacher t1; //数据元素
    struct Teacher tArray[30]; //数据对象
    memset(&t1, 0, sizeof(t1));

    strcpy(t1.name, "name"); //数据项
    strcpy(t1.addr, "addr"); //数据项
    strcpy(t1.tile, "addr"); //数据项
    t1.age = 1;
}
相关文章
相关标签/搜索