# 什么是数据结构

  • 数据结构研究计算机数据间关系
  • 包括数据的逻辑结构和存储结构及其操作

# 基本概念

1. 数据(Data):数据即信息的载体,是指计算机中可以被计算机程序处理、存储、传输、处理的有意义的信息。
2. 数据元素(Data Element):是指数据中最小的单位,是数据的不可分割的基本单位。又称记录;
3. 数据对象(Data Object):是指数据元素的集合。
4. 数据类型(Data Type):是指数据对象的集合及其特征的集合。

# 数据的逻辑结构(线性结构和非线性结构)

  • 集合
  • 线性结构:一个对一个(线、串、队列、栈、链表)
  • 树形:一个对多个(树)
  • 图状结构:多个对多个(图)

# 数据的存储结构

  • 顺序存储结构:数据元素按顺序存储在一块连续的存储区中,每个数据元素占用一个存储单元。
  • 链接存储结构:数据元素存储在一块连续的存储区中,每个数据元素占用一个存储单元,但每个数据元素除了存储其值外,还存储了指向下一个数据元素的指针。
  • 索引存储结构:在存储数据的同时,建立索引存储结构 = 数据文件 + 索引表
  • 散列存储结构:根据数据元素的特殊字段(称为关键字 key),计算数据元素的存放地址,然后数据元素按地址存放。

# 数据的运算:检索、排序、插入、删除、合并、分解、复制、转换、计算等

# 线性表

什么是线性表
定义:线性表是包含若干数据元素的一个线性序列
线性表 L 可用二元组形式描述:L=(a1,a2,…,an)
其中,a1,a2,…,an 为数据元素,n 为元素个数。
L=(D,R)
D 为数据元素的集合,R 为关系,即数据元素之间的关系。
特征:
1. 对非空表,a0 是表头,无前驱;
2.an-1 是表尾,无后继;
3. 其它的每个元素 ai 都有唯一的前驱 ai-1 和唯一的后继 ai+1;
4. 表中元素的个数为 n。

# 顺序存储结构的表示

不足:
1. 插入和删除操作效率低,需要移动大量元素;
2. 占用大量存储空间。

优点:
1. 访问元素的效率高,直接访问存储单元;
2. 便于实现动态集合。

在 C 语言中,可借助于一堆数组类型来描述顺序存储结构的线性表。

# 线性表的链式存储结构

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

FanLei 微信支付

微信支付

FanLei 支付宝

支付宝

FanLei 贝宝

贝宝