数据结构简介
什么是数据结构
- 计算机存储以及组织数据的方式
- 也可以理解为,有一堆数据,他们之间有些特殊的关系
常见的数据结构
- 线性表(数组、链表、栈、队列)
- 树
- 图
逻辑结构
数据从逻辑结构上看,分为下面几种结构
-
集合结构
集合结构- 这种结构注意看,里面有很多元素,但是这些元素之间是没有什么关系的类似我们OC里面的NSSet、NSMutableSet。
-
线性结构
线性结构- 线性结构有什么特点呢?他们是有顺序的,类似我们OC中的NSArray 、NSMutableArray都是线性结构的
-
树状结构
树状结构- 树状结构是一个或多个节点的有限集合。A为根节点,因为它最大!D是I&J的父节点 ,I和J是兄弟节点
-
图形结构
图形结构- 图形结构简称"图",是一种相对复杂的数据结构,任意俩个节点之间都可以关联
存储结构
数据结构从逻辑上可以分为上面几种,但是这些数据统统都是要存放到内存里面去的,那么内存存放数据也有不一样的结构
-
顺序存储结构
顺序存储结构- 这组存储单元内存地址是连续的
-
链式存储结构
链式存储结构- 这组存储单元内存地址可以是连续的,也可以是不连续的。它不要求逻辑上相邻的元素在物理位置上也相邻
线性表
- 什么是线性表
- 线性表就是多个具有相同特性的数据元素(节点)组成的,有限而且有序的集合
- 当线性表的节点个数为0时,我们称之为空表
- 线性表第一个元素成为首节点,最后一个元素称为尾节点
- 比如某个线性表的元素a1、a2、a3······a99。那么a1······a98都是前驱,a98是a99的直接前驱
- 比如某个线性表的元素a1、a2、a3······a99。那么a2······a98 都是a1的后继,a2是a1的直接后继
- 线性表的顺序存储结构
-
用一组地址连续的存储单元一次存储线性表的数据元素
顺序存储结构
-
- 线性表的链式存储结构
-
用一组任意的存储单元存储线性表中的数据元素,它的存储单元可以是连续的,也可以是不连续的
链式存储结构
-







