1.数据结构的定义:
数据在计算机中的组织。包括逻辑结构,存储结构,数据运算。
逻辑结构:与具体的计算机无关。
一、顺序表:
线性表(a1,a2…,an)有唯一的第一个和最后一个元素(n≥0)。其余的有唯一的前驱和后继。
顺序表定义:用一组地址连续的存储单元依次存放的数据元素。
在顺序表的第i个位置前插入一个数据元素,需要向后移动n - i +1个元素,删除第i个位置的元素需要向前移动n- i个元素。
二、栈和队列
1.栈:允许在表的一端插入和删除的线性表。栈底,不允许操作,栈顶,允许操作。
栈的操作原则:LIFO后进先出
【例】设进栈顺序是(a,b,c,d),不可能的出栈序列是:( C )
A. (a,b,c,d) B.(a,c,b,d) C. (a,d,b,c) D. (d,c,b,a)
2.队列:允许在表的一端插入,另一端删除的线性表
队尾:插入端 队首:删除端
队列的操作原则:FIFO先进先出
三、数组:
1.数组的定义:
A.一维数组:具有相同特性的元素集合。A[4] 数组元素下标A[0] A[1] A[2] A[3]
B.二维数组 矩阵 A= {a11 a12
a21 a22
a31 a32}
C语言 A = {a[0][0] a[0][1]
a[1][0] a[1][1]
a[2][0] a[2][1]}
矩阵下界为1。C语言中二维数组下界为0。如A[3][2] 指3行2列。
C. 存储方式:行优先次序(行主)
设一个数据元素占S个存储单元
二维数组寻址公式:a[m][n]
LOC(a[i][j])= LOC(a[0][0])+(i×n+j)×s
a[i][ j]指存放相应元素的首地址
【例】二维数组A[4][3],首地址A[0][0]是SA,每个元素占2个存储单元,按行优先次序,
数据结构知识点归纳
最新推荐文章于 2024-01-11 12:26:26 发布