第6章:变治法——《算法笔记

1.预排序

优化:及时回溯

排序过程中的语义

应用:唯一元素,最多元素,

2.高斯消元

矩阵运算相关,先跳过

3.AVL树

每个节点维护一个平衡因子:左子树高度-右子树高度

AVL树失去平衡,旋转

旋转平衡因子+-2的节点

 

旋转保证满足定义

保持二叉树

恢复平衡

 

删除的效率低

灵感:旋转树,不破坏结构,保持平衡

 

因为avl树不是太有用就不记了,但可以总结下

左右是相对的,所有旋转情况可分为对称的两部分,只需考虑一半情况

父节点将子树划分为两个区间

简单旋转可能破坏二叉结构,则选择上提动作

旋转与上提都需考虑相关节点的其他子节点

 交换的两个节点的区间内存在其他节点

 

2-3树

节点为一个数:两个子树

两个数:三个子树,对应三段区间

高度平衡:每个叶子节点可以为多个数(1,2个

插入:插入叶,节点中数>2,分裂,中间数向上提升

提升引起父节点数目>2?

列举所有溢出情况

 

元素包含元素优先级的可排序属性

操作:找,删,添

完全二叉树

父>子

 

删:将最后一个元素放至顶部:保持完全二叉树结构

交换操作:保持语义

 

堆排序:保证最差时间,且在位

 

霍纳法则

多项式转换为乘积式

 

二进制幂

 

问题转化

最小公倍数,最大公约数

图中指定长路径数,邻接矩阵,邻接矩阵的平方???

最大化,最小化

线性规划:单纯型法

整数线性规划,背包

过河问题:状态空间图

 

习题

6.1

n个数字最接近

预排序

 

无序数字集合交集

 

最大最小元素

 

选择预排序的标准:原问题复杂度与排序复杂度

 

穿过所有点的简单多边形

 

数组中k元素=指定和

 

数字填空

已有比较符号,填入指定数字集合

 

向量集合

最大点

 

查找所有变位词

 

计算树的值域

min,max,max-min

 

树构造算法

树合并

比较不同的查找树

 

删除

 

6.4

检测数组满足堆属性

 

构造,增,删,改,合并,输出序

 

堆作为排序算法,属性考察:在位,稳定

 

使用了优先队列的排序算法:除堆排序外

 

堆排序体现变治?

 

6.5

多项式求解

 

递归——非递归

 

6.6

i-j长度k不同路径数=邻接矩阵的k次

 

三角形检测

 

a+b=n

ab max?

 

0-1线性规划表述分配问题

 

点着色,边着色

 

二维邮局位置问题

不同距离衡量标准

 

吃醋丈夫问题:妻子+其他男人同岸   &&自己不在

n对

 

双n成环

 

posted on 2018-06-02 17:13  秦梦超  阅读(200)  评论(0编辑  收藏  举报

导航