数据结构学习笔记_1

广义表:

L=(a,b) L长度为2,深度为1

L=(x,(a,b))长度为2,深度为2

L=(x,(a,b,c),y) 长度为3,深度为6

L=(a,a,a,(a,…))长度为4,深度为无穷大

无向图G5的邻接矩阵是:

A1 ={0,1,1,1}

{1,0,1,1}

{1,1,0,0}

{1,1,0,0}

有向图G6的邻接矩阵是:

A2 = {0,1,0,0,0}

{1,0,0,0,1}

{0,1,0,1,0}

{1,0,0,0,0}

{0,0,0,1,0}

  • 排序:内部排序:排序时不涉及数据的内、外存交换。适用于记录个数不很多的小文件。包括:插入排序、选择排序、交换排序、归并排序和分配排序。
  • 外部排序:过程中要进行数据的内、外存交换。适用于记录个数太多,不能一次放到内存的大文件。
算法名 类别 平均 最好 最坏 辅助 稳定性
直接插入排序 插入排序 O(n²) O(n) O(n²) O(1) 稳定
希尔排序 插入排序 O(n^1.5) O(n) O(n²) O(1) 不稳定
简单选择排序 选择排序 O(n²) O(n²) O(n²) O(1) 不稳定
堆排序 选择排序 O(n㏒2n) O(n㏒2n) O(n㏒2n) O(1) 不稳定
冒泡排序 交换排序 O(n²) O(n) O(n²) O(1) 稳定
快速排序 交换排序 O(n㏒2n) O(n㏒2n) O(n²) O(n㏒2n) 不稳定
归并排序 归并排序 O(n㏒2n) O(n㏒2n) O(n㏒2n) O(1) 稳定
基数排序 基数排序 O(d(r+n)) O(d(rd+n)) O(d(r+n)) O(rd+n) 稳定

  1. 二叉树节点的度指父节点对应的下面孩子节点个数,最大为2。
  2. BFS(Breadth-first Search)宽度优先搜索。先从根节点开始,搜索根节点左侧V1;搜索根节点右侧V2;搜索V1左侧V11;搜索V2右侧,当V2节点已经被V1搜索过,则V2停止。
  3. DFS(Depth-first Search)深度优先搜索。先从根节点开始,搜索根节点左侧V1下面所有节点;搜索完再搜索根节点右侧V2所有节点。当V2节点已经被V1搜索过,则V2停止。
  4. 二路归并排序是把数组分成 n/2 +1个子数组,子数组内排序完成,在一直两两归并排序下去成一个数组。
  5. 图的广度优先遍历(BFS)类似于树的层次遍历。
  6. 图的深度优先遍历(DFS)类似于树的前序遍历。
  7. 直接插入排序后,可能未能选出一个元素放到其最终位置上。
  8. 快速排序、冒泡排序、希尔排序、堆排序原理。
  9. 二叉树等改路情况下平均查找长度等于= (∑(节点数量×节点个数))÷所有节点个数。
  10. 堆排序是一种树形选择排序。
  11. 设线性表的长度为n,则顺序查找成功时的平均查找长度为 (n+1)/2。
  12. 抽象数据类型是指抽象数据的组织和与之相关的操作。
  13. 当三交矩阵的常数为0时,n阶三角矩阵的非零元素个数为n(n+1)/2。
  14. 有向图中的极大连通子图称作有向图的强连接分量。