软考-算法与数据结构1

一、数组和稀疏矩阵

1、 数组

  1. 一维数组a[i]a+i*len

  2. 二维数组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、树

  1. 结点的度:几个分支(孩子)

  2. 树的度:整棵树最高的度

  3. 叶子结点:没有孩子结点

  4. 分支结点

  5. 内部结点:不是根节点,也不是叶子结点

  6. 父结点:相对(针对哪个结点)

  7. 子结点:相对(针对哪个结点)

  8. 兄弟结点:

  9. 层次

2、二叉树

  1. 二叉树的重要特性

  1. 前序遍历:根左右

  2. 中序遍历:左根右

  3. 后序遍历:左右根

  4. 层次遍历

  5. 后向构造二叉树

  6. 树转二叉树

  1. 查找二叉树(排序二叉树)

  1. 最优二叉树(哈夫曼树)

  1. 线索二叉树

  1. 平衡二叉树

五、图

  1. 完全图

  1. 邻接矩阵

  1. 邻接表

  

   4. 图的遍历

    深度优先遍历

    广度优先遍历

  1. 拓扑排序

 

  1. 最小生成树

    1) 普里姆算法

    2)克鲁斯卡尔算法

六、排序与查找

排序看这个

1.0 十大经典排序算法 | 菜鸟教程 (runoob.com)

1、顺序查找

2、二分查找

3、散列表

4、排序

 

5、直接插入排序

6、希尔排序

7、直接选择排序

8、堆排序

9、冒泡排序

10、快速排序

11、归并排序

12、基数排序

13、排序的时间复杂度和空间复杂度

七、算法基础及其常见的算法

1、算法的特性

2、时间复杂度

3、空间复杂度

 

 

 

posted @ 2023-10-13 21:07  XiMeeZhh  阅读(40)  评论(0)    收藏  举报