对于这些结构确实令人头疼不已,下面我们来彻底解决这个问题,以后碰到了能准确的区分!
总体分为两大类,一类是实际的,就是在电脑上是怎么存储的。一类是虚的,是人们想象这些节点的关系是什么样的。这两大类共同构成了数据结构。
第一类先说虚的,就是人们想象一堆元素的关系是什么样的,称为逻辑结构。共分为四大类:
1.集合结构
2.线性结构
3.树结构
4.图结构
注意一旦说逻辑结构了只能属于上面的一种,比如有序表,只是代表元素有顺序,可以理解为有序的线性表(只是线性结构,是上面四个的一种),它可以是顺序存储的有序,也可以是链式存储的有序,可以通过多种方式来保存到计算机上,所以有序表是一种结构,属于逻辑结构这一大类的。
常见的逻辑结构:
栈:栈只能说明各个元素是线性的,而在计算机上可以顺序存储(就是存储单元挨边的存数据)也可以链式存储,故有顺序栈(数组)和链栈
有序表:上面已经解释。
树:像二叉树,这是重点强调各个元素逻辑上的关系,即一对多还是一对一。
再来看实的,存储结构和物理结构是一个概念,不同的叫法罢了!
1.顺序存储结构
2.链式存储结构
3.散列存储结构
4.索引存储结构
常见的存储结构:
链表
顺序表
哈希表
循环队列:是一种顺序表
线索二叉树:二叉树是逻辑结构,但是加上线索之后变成了链表,就是实际的存储方式。
实在不行把上面的背会也可以,常见的就那几种,背会了各种题目直接秒杀。