目录

  • 1 绪论
    • 1.1 数据结构的定义和基本术语
    • 1.2 数据的逻辑结构和存储结构
    • 1.3 算法和算法分析
  • 2 线性表
    • 2.1 线性表的定义及逻辑结构
    • 2.2 顺序存储结构
    • 2.3 链式存储结构
    • 2.4 应用:一元多项式的表示和相加
  • 3 栈和队列
    • 3.1 栈
    • 3.2 队列
  • 4 串
    • 4.1 资源
  • 5 数组
    • 5.1 数组
    • 5.2 广义表
  • 6 树和二叉树
    • 6.1 树的定义和基本术语
    • 6.2 二叉树
    • 6.3 遍历二叉树和线索二叉树
    • 6.4 树和森林
    • 6.5 哈夫曼树及其应用
  • 7 图
    • 7.1 图的定义和基本术语
    • 7.2 图的存储结构
    • 7.3 图的遍历
    • 7.4 图的应用
  • 8 查找
    • 8.1 查找的基本概念
    • 8.2 基于线性表的查找
    • 8.3 基于树的查找
    • 8.4 哈希表
  • 9 内部排序
    • 9.1 排序的定义和种类
    • 9.2 插入排序
    • 9.3 B-树和B+树
    • 9.4 交换排序
    • 9.5 选择排序
    • 9.6 归并排序和基数排序
  • 10 实验
    • 10.1 目的要求
      • 10.1.1 参考代码
数据的逻辑结构和存储结构

1.逻辑结构

数据结构包括数据的逻辑结构和数据的存储结构。数据的逻辑结构可以看作是从具体问题抽象出来的数学模型,与数据的存储无关。研究数据结构的目的是为了在计算机中实现对它的操作,为此还需要研究如何在计算机中表示一个数据结构。数据结构在计算机中的表示(又称映像)称为数据的物理结构,或称存储结构。它所研究的是数据结构在计算机中的实现方法,包括数据结构中元素的表示及元素间关系的表示。

数据结构的形式定义为:数据结构是一个二元组

Data_Structure =(DR

其中,D是数据元素的有限集,RD上关系的有限集。

2.存储结构

数据的存储结构是数据的逻辑结构在存储器中的映像。数据元素在计算机中主要有以下4种不同的存储结构。

1)顺序存储:以相对的存储位置表示后继关系。例如:令 y 的存储位置和 x 的存储位置之间差一个常量 C,而 C 是一个隐含值,整个存储结构中只含数据元素本身的信息。

2)链式存储:以附加信息(指针)表示前驱或后继关系。需要用一个或几个和 x 在一起的附加信息指示 y 的存储位置。

3)索引存储:在原有存储数据结构的基础上,附加建立一个索引表,索引表中的每一项都由关键字和地址组成。索引存储的主要作用是为了提高数据的检索速度。具体方法将在第8章中介绍。

4)散列存储:通过构造散列函数来确定数据存储地址或查找地址。