DS_School1

加监视哨的顺序查找

return i;

顺序表上的顺序查找的性能分析

顺序表 平均查找长度

n+1/2

O(n)

单链表上的 顺序查找

顺序查找特点

算法简单

对存储没有太大要求

平均查找长度较大, 效率低,

当n很大时, 不宜采用顺序查找

(n+1)/2

折半查找

二分查找

特点(要求)

1, 数据必须有序排列

2, 存储结构: 顺序存储

折半查找, 还是 从1 开始存元素, 为了方便

下一章 排序, 也是从1开始

归并排序

分隔

for(i =1; 2 * len - 1 <= len; i += 2*len)
    
    
    Merge(L, i, i + len; i + 2 * (len - 1))

退出循环的时候, 就不需要 归并了

一组, 就不贵并了

需要保证 2组

1, 非递归方法

2, 还可以 用 递归

一直分裂

不能再分裂之后, 归并

void MergeSort(SeqList* L) {
    
}

写出每一趟结果

稳定的

二路归并排序 是一种 稳定的排序方法

基数排序

000000000000000000000000000

散列表查找

栈查找

线性结构的特点

1, 有且仅有1个, 前驱结点

2, 有且仅有1个, 表尾结点

树形结构特点

1, 有且仅有1个, 根结点Root

2, 有多个叶子结点

3, 中间, 一个前驱, 一个后继

树的定义时递归的

树的存储结构

1, 双亲表示法

2, 孩子表示法

2.1, 双亲_孩子表示法

3, 孩子_兄弟表示法

双亲表示法

data域, 存放结点的信息

parent域, 存放该结点唯一的双亲结点的位置(数组下标)

特点:

利用了根节点之外的每个结点只有唯一双亲的性质, 求结点的双亲或祖先很容易,

但求结点的孩子, 需要遍历整个数组

邻接矩阵

无向图

1, nxn

2, 沿对角线对称

3, 邻接矩阵, i, j, 可以求该临电 的 度

有向图

删除1, 相关点的边

特点

统计i行, 出度

统计j行, 入度

稀疏矩阵, 浪费存储空间

无穷, 求最短路径

图的存储结构

1, 顺序, 邻接矩阵

2, 邻接表(),类似树的孩子表示法

树中叫

顶点结点, 孩子结点

图中叫

顶点结点(顶点集合), 边结点,

图G, n个结点, e条边,

无向图

多少个顶点结点, n个

边结点, 2e

posted on 2021-06-23 23:54  beyondx  阅读(13)  评论(0编辑  收藏  举报

导航