请问游程、败方选择树这些是数据结构有哪些很难理解的算法里哪块的知识点?

数据结构知识点归纳.txt没有不疼的伤口,只有流着血却微笑的人有时候 给别人最简单的建议 却是自己最难做到的。
数据结构知识点归纳
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个存储单元,按行优先次序,求A[3][2]与A[2][1]存放地址。
解: A[3][2]:SA+(3×3+2)×2 = SA+22
A[2][1]: SA+(2×3+1)×2=SA+14
2.下三角矩阵压缩存储方法:(下三角是非0元素,其余为0。)
A = { a11
0
a21 a22
0
a31 a32 a33
0
a41 a42 a43 a44
0}
n阶下三角矩阵元素个数:(n+1)n/2
n阶下三角矩阵压缩存储于一维数组F(m) ,则 m=(n+1)n/2
F数组
A11 A21 A22 A31 A32 A33 A41 A42 A43 A44
0 1 2 3 4 5 6 7 8 9
3.稀疏矩阵的三元组表示: 非0元素相对较少,且无规律。
A = { 3 0 1 0
0 0 2 0
0 0 0 0
0 1 0 0
0 0 0 1}
描述一个非零元素的(r行c列v值)三元组
稀疏矩阵的三元组表:按行优先次序进行转换
r c v
5 4 5
1 1 3
1 3 1
2 3 2
4 2 1
5 4 1
转置矩阵
A-= {3 0 0 0 0
0 0 0 1 0
1 2 0 0 0
0 0 0 0 1}
R C V
4 5 5
1 1 3
2 4 1
3 1 1
3 2 2
4 5 1
四、树和二叉树
1.树的定义和术语
n≥0个结点的有限集

我要回帖

更多关于 为什么方程巨树 的文章

 

随机推荐