一、数据结构
数据结构是计算机组织数据和存储数据的方式,简单说来就是数据的关系和数据的存储(即逻辑结构和存储结构)。逻辑结构分为:集合、线性结构、树形、图;存储结构分为:顺序存储、链式存储、索引存储、散列存储;
其中顺序存储和链式存储比较常用,线性表、二叉树都用到了顺序和链式存储。栈和队列可看作特殊的线性表,栈的特点是先进后出,队列是先进先出,就像排队一样。树形包括树、二叉树、森林,这三种是可以相互转换的,他们的遍历分三种:先 中 后遍历;图其中的最小生成树和拓扑序列是较为常用也是常考的知识。
二、循环队列
循环队列相对于一般顺序结构的队列较复杂些,它是一个循环的,构成了一个圈。循环队列有一个头指针(head)一个尾指针(tail),尾指针指向的是存放数据的下一个位置,而且为了防止head=tail时造成无法判断队列是空还是满的分歧,队列的最后一个位置不存放数据。
循环队列常考题型
首先一定要看清楚题目,rear表示循环队列中队尾元素的实际位置,则rear+1即为通常说的队尾指针tail,tail-length=head,因为循环队列是一圈一圈存储的,mod m求余得到真正循环队列中的位置。
三、思维导图
下面是对数据结构导论画的一张导图,感觉画图总结真的可以让思路清晰。
数据结构也可以这样划分