什么是数据结构?
数据结构是逻辑结构+存储结构+运算
- 逻辑结构:数据的逻辑结构是对数据之间关系的描述,分为线性结构,非线性结构(树形结构,图形结构)和集合。
- 存储结构(物理结构):分为线性结构,链式结构,索引结构和散列。
- 运算:增删改查
思维导图
学习应当跟着思维导图而学。
重难点1:计算普通矩阵压缩存储
首先,我们要知道矩阵是行*列,为了方便,我们将矩阵存在数组中,这种方式叫做“压缩存储”。
存储有两种方式,按行或者按列存储。
举个小栗子,设有数组A[n,m],数组的每个元素长度为3字节,n的值为1~8,m的值为1~6,数组从内存收地址BA开始顺序存放,请分别用列存储方式和行存储方式求A[5,4]的存储首地址为多少。
- 按行存储:如图看箭头,这是按行存储,前4行共有4*6个,第五行共有4个,A[5,4]=首地址+(24+4)字节数=BA+283=BA+84
- 按列存储
如图看红色箭头,前三列共有38个,第四列共有4个
A[5,4]=首地址+(38+4)字节数=BA+283=BA+84
小总结:遇到这种题时,看图即可。
数组一般从0开始取值。注意题目,若没有要求那么就是从0开始。
重难点2:平衡二叉树的构造
LL型–>中为支,高右转
RR–>中为支,高左转
LR–>先左后右
RL–>先右后左
重难点3:快速排序
核心思想:
1.在待排序的元素任取一个元素作为基准(通常选第一个元素)
2.排序后,基准元素左边的都比基准元素小,右边的都比基准元素大
3.重复以上步骤直到所有元素都是有序的