软考-算法与数据结构1
1、 数组
-
一维数组
a[i]:a+i*len -
二维数组
a[i][j]:在
[0···m][0···n]按行存储:
base+(i*n+j)*len按列存储:
base+(j*m+i)*len在
[1···m][1···n]按行存储:
base+((i-1)*n+(j-1))*len按列存储:
base+((j-1)*m+(i-1)*len
2、 稀疏矩阵
直接带值进ABCD四个选项计算较快
二、线性表
1、顺序表

2、链表
-
单链表
-
双向链表
-
循环链表
-
链表的操作:(1)单链表删除结点(2)单链表插入结点(3)双向链表删除结点(4)双向链表插入结点
3、队列(先进先出)
-
循环队列:队空:head=tail ; 队满:(tail+1)%size=head
4、栈(先进后出)
5、广义表
(1)长度,深度,表头,表尾
(2)取表头:head(Ls)
取表尾:tail(Ls) 【除了表头剩下的都是表尾】
四、树与二叉树
1、树
-
结点的度:几个分支(孩子)
-
树的度:整棵树最高的度
-
叶子结点:没有孩子结点
-
分支结点
-
内部结点:不是根节点,也不是叶子结点
-
父结点:相对(针对哪个结点)
-
子结点:相对(针对哪个结点)
-
兄弟结点:
-
层次
2、二叉树
-
二叉树的重要特性

-
前序遍历:根左右
-
中序遍历:左根右
-
后序遍历:左右根
-
层次遍历
-
后向构造二叉树
-
树转二叉树

-
查找二叉树(排序二叉树)

-
最优二叉树(哈夫曼树)

-
线索二叉树

-
平衡二叉树

五、图
-
完全图

-
邻接矩阵

-
邻接表
4. 图的遍历
深度优先遍历
广度优先遍历
-
拓扑排序

-
最小生成树
1) 普里姆算法

2)克鲁斯卡尔算法

1、顺序查找

2、二分查找
3、散列表

4、排序

5、直接插入排序
6、希尔排序

7、直接选择排序

8、堆排序
9、冒泡排序
10、快速排序
11、归并排序
12、基数排序
13、排序的时间复杂度和空间复杂度

七、算法基础及其常见的算法
1、算法的特性

2、时间复杂度
3、空间复杂度

浙公网安备 33010602011771号