一 什么是数据结构
数据结构是计算机存储,组织数据的方式
1.1 线性结构
包括 线性表
,数组
,链表
,栈
,队列
,哈希表
1.2 树形结构
包括二叉树
,AVL树
,红黑树
,B树
,堆
,Trie
,哈夫曼树
,并查集
1.3 图形结构
包括 邻接矩阵
,邻接表
二 线性表
线性表
是具有n个相同类型元素
的有限序列
(n >= 0)
- a1是首节点(首元素),an是尾节点(尾元素)
- a1是a2的前驱,a2是a1的后继
常见的线性表有
- 数组
- 链表
- 栈
- 队列
- 哈希表(散列表)
三 数组
数组
是一种顺序存储
的线性表,所有元素的内存地址都是连续的。
例如
int [] array = new int []{11,22,33};
内存地址表现形式如下
注意:
- 在很多编程语言中,数组都有一个致命的缺点,无法动弹修改容量
- 在实际开发中,我们更期望数组的容量是可以动态改变的。