随笔分类 -  Algorithms

算法课堂笔记3—动态规划
摘要:第三章 动态规划 1. 动态规划原理 这里要注意区别动态规划和分治的区别。下面来一些经典的例子。 2. 矩阵连乘 这里难点是怎么理解上面的那张表,这张表的意思就是对于m[1,5], (例如是矩阵A,B,C,D,E连乘:ABCDE ) 要考虑所有的断开的可能性(即所有的组合),比如m[1,3]和m[3 阅读全文
posted @ 2017-01-02 21:23 f91og 阅读(782) 评论(0) 推荐(0)
算法课堂笔记2—分治算法
摘要:第二章 分治算法 1. 分治算法的原理 分治法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。递归地解这些子问题,然后将各子问题的解合并得到原问题的解。 分治法所能解决的问题一般具有以下几个特征(这部分参考了这篇博文http://blog.csdn. 阅读全文
posted @ 2017-01-01 14:13 f91og 阅读(2592) 评论(0) 推荐(0)
算法课堂笔记1—算法分析的数学基础
摘要:算法课要期末考了!!! 现在复习中 顺便补下应该作的笔记 第一章 算法分析的数学基础 --首先是一些记号: 1. 复杂函数的阶:渐近复杂性 即: 这里难点是怎么理解各个量是什么玩意儿,数学就是这样,变量符号一大堆,不清楚哪个是哪个的话很容易头晕。 符号 n 的意义,这个表示的我们的输入规模,比如对n 阅读全文
posted @ 2016-12-30 15:21 f91og 阅读(474) 评论(0) 推荐(0)
算法课堂笔记6—在线算法
摘要:今天的算法课是学习在线算法,在计算机科学中,一个在线算法是指它可以以序列化的方式一个个的处理输入,也就是说在开始时并不需要已经知道所有的输入。相对的,对于一个离线算法,在开始时就需要知道问题的所有输入数据,而且在解决一个问题后就要立即输出结果。例如,选择排序在排序前就需要知道所有待排序元素,然而插入 阅读全文
posted @ 2016-11-24 14:50 f91og 阅读(461) 评论(0) 推荐(0)
分治法求2n个数的中位数
摘要:问题:设X[0:n-1]和Y[0:n-1]为两个数组,每个数组中含有n个已排好序的数。试设计一个O(logn)时间的分治算法,找出X和Y的2n个数的中位数 思想: 对于数组X[0:n-1]和Y[0:n-1]先分别找出X和Y的中位数xa和yb。求中位数的算法是这样的,若n是奇数,即数组X和Y中各有奇数 阅读全文
posted @ 2016-11-02 17:52 f91og 阅读(5440) 评论(0) 推荐(0)