一、什么是数据结构?
每道编程题都有输入数据和输出数据,输入数据是代码处理的对象,输出数据是代码运行的结果。代码在执行过程中需要用一定的方式来存储、处理数据,就是数据结构。
《数据结构》教材一般包含线性表(数组、链表)、栈和队列、串、多维数组和广义表、哈希、树和二叉树、图、排序等。
二、基础数据结构
数组、链表、队列、栈、二叉树。
三、数组
把数据连续存储在空间中。
虽然简单,但是在竞赛中至关重要,因为其他数据结构都可以用数组来模拟,即“物理存储上是数组,逻辑上是其他数据结构”。
用数组模拟其他数据结构,不是工程项目的正规做法,但是非常适合算法竞赛,因为这样编码快、不易出错。
某些难题,可以用数组处理数据求得部分分数。
四、一维数组
- 一维数组的定义和初始化
- 一维变长数组
数组名.append()------向数组内添加值。
- 一维正向遍历
- 一维反向便利
- 一维数组区间操作
min()------最小值
max()------最大值
sum()------求和
- 一维数组: 不用a[0],从a[1]开始
- 读入一维数组
- 一维数组例题
五、多维数组
- 二维数组初始化
- 三维数组初始化
- 读二维数组
- 二维数组例题