2018年5月27日

第5章:分治法——《算法笔记

摘要: 原问题分解为多个子问题 1.合并排序(快排的子问题) 合并两个已经排序的序列 2.快速排序 划分排序,对小数组插排 3.树的遍历 前序中序后序 4.大整数乘法,Stanssen矩阵乘法 大整数分解为高低位,平方和公式 5.最近对与凸包 最近对:点集沿一个轴方向均分,d=min(dl,dr) 考察宽为 阅读全文

posted @ 2018-05-27 21:13 秦梦超 阅读(228) 评论(0) 推荐(0) 编辑

第4章:减治法——《算法笔记

摘要: 思考:减治提供了一种思考问题的方式 原问题与减一问题的关系 原问题划分成保持语义的子问题,可能规整划分,可能划分不定 我觉得减治与分治的共同点在于:1.问题的分解 2.子问题语义的保持(可以使用递归) 减治只需求解一个子问题,减法了无需求解的子问题 分治法需要归总子问题,并且归总的过程存在丰富的语义 阅读全文

posted @ 2018-05-27 16:24 秦梦超 阅读(1529) 评论(0) 推荐(0) 编辑

第3章:蛮力法——《算法笔记

摘要: 1.选择排序与冒泡排序 选择排序 :平方复杂性(源自键比较),但只需要n次键交换 语义:依次选择最小的元素 稳定:Y 在位:Y 最佳:n^2 最差:n^2 不同情况下,不影响键比较的次数,影响键交换的次数 冒泡排序: 平方复杂性,键交换次数不定 语义:比较相邻元素,将最大元素交换至末尾(维护末尾位置 阅读全文

posted @ 2018-05-27 16:20 秦梦超 阅读(492) 评论(0) 推荐(0) 编辑

第2章:算法效率分析——《算法笔记

摘要: 1.分析框架 时间效率,空间效率 算法输入规模n的函数 选择度量方法 数字算法:二进制位数 增长次数 时间度量: 基本操作的执行次数 最优,最差, 平均效率:输入的概率分布 摊销效率:多次运行时高成本被摊销到各个调用中 输入规模趋于无限大时,运行时间函数的增长 2.渐进符号,基本效率类型 上界,下界 阅读全文

posted @ 2018-05-27 14:41 秦梦超 阅读(577) 评论(0) 推荐(0) 编辑

算法书单

摘要: 算法设计与分析基础 阅读全文

posted @ 2018-05-27 14:12 秦梦超 阅读(73) 评论(0) 推荐(0) 编辑

第1章:绪论:基本数据结构——《算法设计与分析基础》笔记

摘要: 1.线性数据结构 数组:按索引随机访问 链表:从头节点顺序访问 栈,队列:先进先出,后进先出 优先队列:查删最大元素,加入元素 堆 图:有向图,无向图 圈:连接至自身 完全图,稠密图,稀疏图 表示方式:邻接矩阵,邻接链表 加权图 连通性,无环性 路径,简单路径 长度 连通分量 回路,无环 3.树: 阅读全文

posted @ 2018-05-27 13:06 秦梦超 阅读(169) 评论(0) 推荐(0) 编辑

第1章:绪论:重要算法类型——《算法设计与分析基础》笔记

摘要: 重要算法类型 整理完《算法设计与分析基础》的章节笔记与习题后,考虑根据算法求解的问题领域做个整理。 重要算法类型 1.排序 稳定(原下标作为第二关键字),或维护每个元素所在的序号 作为第二排序关键字排序两次? 在位(不需要额外存储空间) 重复 最优最差效率 平均效率 2.查找 顺序 折半(要求有序, 阅读全文

posted @ 2018-05-27 12:58 秦梦超 阅读(159) 评论(0) 推荐(0) 编辑

最大公因子求法

摘要: 为方便讨论,m=max(m,n) n=min(m,n) 方法1:t=n 判断t是不是n的因子 判断t是不是m的因子 优化:只在n的因子中考察t 方法2:n,m作因式分解,提取公共小因子的乘积 相关子问题:筛选法得到质数表 思考,拓展 1.用质数表优化算法 2.算法输入数量的变化:多个整数求最大公因子 阅读全文

posted @ 2018-05-27 10:47 秦梦超 阅读(1320) 评论(0) 推荐(0) 编辑

图解 欧几里德算法

摘要: 把整数看成保持面积不变,可以重排为长宽为整数的矩阵 取两个整数的最大公因子,可以看作把两个整数重排后保持一端对齐,求对齐端的最大长度 当两个整数一端对齐时,他们的差也保持对其。所以原问题问题gcd(m,n)能归结为gcd(m-n,n) 最终其中的一者成为长=1,宽=gcd(m,n)的矩形,算法终结 阅读全文

posted @ 2018-05-27 09:48 秦梦超 阅读(511) 评论(0) 推荐(0) 编辑

导航