目录

  • 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 参考代码
数据结构的定义和基本术语

数据结构就是研究数据的逻辑结构、存储结构和运算方法(算法)的学科。诸如此类的还有图书信息查询系统、考试查分系统、仓库库存管理系统等。简单说来,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科。

著名的计算机科学家Niklaus Wirth提出Algorithm + Data Structures = Programs”的思想,即算法+数据结构=程序,可以看出,数据结构是程序的重要组成部分。概括地说:数据结构是一门讨论“描述现实世界实体的数学模型(非数值计算)及其上的操作在计算机中如何表示和实现”的学科。

1)数据:所有能被输入到计算机中,且能被计算机处理的符号的集合;是计算机操作对象的总称;是计算机处理的信息的某种特定的符号表示形式

2)数据元素:是数据(集合)中的一个“个体”;是数据结构中讨论的基本单位,

3)数据项:数据元素可以是数据项的集合;是数据结构中讨论的最小单位。例如学生记录中的学号、姓名等。

4)数据结构:带结构的数据元素的集合;或者说,数据结构相互之间存在着某种逻辑关系的数据元素的集合