博客专栏  >  综合   >  算法导论学习笔记

算法导论学习笔记

记录自己学习算法导论的笔记,以自己的理解与实现代码为主

关注
51 已关注
14篇博文
  • 算法导论学习笔记(十四):贪心算法(一):活动安排问题

    对很多最优化问题来说,采用动态规划方法来解决就有点大材小用了。有时候我们可以采用贪心算法来取代。贪心算 法是通过所做的局部最佳选择来产生一个全局最优解。而且和动态规划不同的是,它是通过自顶向下的方式...

    2013-03-03 15:00
    1655
  • 算法导论学习笔记(十三):动态规划(三):01背包问题

    01背包问题 有N件物品和一个容量为V的背包。第i件物品的体积是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一...

    2013-03-07 11:12
    4265
  • 算法导论学习笔记(十二):动态规划(二):最长公共子序列(LCS)

    LCS:给出两个序列S1和S2,求出的这两个序列的最大公共部分S3就是就是S1和S2的最长公共子序列了。公共部分 必须是以相同的顺序出现,但是不必要是连续的。 解法一:在没学动态规划之前,...

    2013-02-27 19:37
    5719
  • 算法导论学习笔记(十一):动态规划(一)

    装配线调度 #include using namespace std; int a[3][7], t[3][7], e[3], x[3]; int f[3][7], l[3][7]; int ...

    2013-02-25 20:37
    1732
  • 算法导论学习笔记(十):约瑟夫排列

    约瑟夫问题的定义:假设n个人排成环形,且有一个正整数 m 就让其出列,且报数进行下去。这个过程一直进行到所有人都出列为止。每个人出列的次序定义了整数0,1,2,...n-1 的(n, m)-约瑟...

    2013-01-26 14:52
    1769
  • 算法导论学习笔记(九):红黑树

    前言 前面已经学完了二叉查找树,这是我们学习红黑树的基础,必须要熟练掌握,不然学习红黑树会很吃力的。虽然前面 已经学习了二叉查找树,但感觉学习红黑树的时候还是没那么轻松。 红黑树是一类特殊的二叉...

    2013-01-14 19:50
    1671
  • 算法导论学习笔记(八):二叉查找树

    前言 昨天复习完了二叉树,今天终于可以很好的展开对二叉查找树的学习了。言归正传,查找树是一种数据结构,支持多 种动态集合操作,包括SEARCH、MINIMUM、MAXIMUM、PREDECESSO...

    2013-01-09 10:54
    2795
  • 算法导论学习笔记(七):二叉树

    前言 昨天看算法导论看到二叉查找树,虽然以前学数据结构的时候已经学过了二叉树,但感觉自己很多东西已经忘了,为 了更好的学习二叉查找树以及后面所涉及到的二叉树方面的相关算法,故再一次复习了下二叉树。...

    2013-01-07 15:46
    2651
  • 算法导论学习笔记(六):计数排序与基数排序

    这里的两个排序的期望运行时间都是O(n),应该是到目前为止时间复杂度最低的了。 计数排序 计数排序假设n个输入元素的每一个都是介于0到K之间的整数,此处K为某个整数,在具体实现中,我们可以取K为n...

    2012-12-30 17:14
    2242
  • 算法导论学习笔记(五):快速排序

    快速排序是一种最坏情况运行时间为O(n*n),虽然这个最坏情况运行时间比较差,但快速排序通常都是用于排序的最 佳的实用选择,这是因为其平均性能相当好:期望的运行时间为O(nlgn),且O(nlgn)...

    2012-12-29 22:10
    5404
  • 算法导论学习笔记(四):求X的N次方的二分实现

    今天在看到网易里的算法导论的公开课,听到老外讲分治法时提到了下算一个数的N次方的可以通过二分思想来实 现,于是便想自己写个代码来实现它。虽然很简单,还是想写在博客中。一是可以加深自己的印象,以后遇到...

    2012-12-28 02:39
    4565
  • 算法导论学习笔记(三):堆排序

    堆排序是一种利用堆的性质进行的排序算法。所以学习堆排序之前先来简单介绍下堆。 堆 堆数据结构是一种数组对象,如图一所示,它可以被视为一颗完全二叉树。      图一 树中的每个结点...

    2012-12-26 17:17
    1814
  • 算法导论学习笔记(二):合并排序

    在前一篇博客中已经提到了插入排序,这里继续介绍下另一种比较高效的排序:合并排序。合并排序用到了分治思 想,其时间复杂度为O(NlgN)。合并算法的关键在于合并。 合并排序的的基本步骤如下: 1....

    2012-12-15 22:43
    2518
  • 算法导论学习笔记(一):插入排序

    排序可以说是我们平常写代码中最经常用到的算法之一了。冒泡排序应该是大家最熟悉的了,几乎每本编程语言的入 门教程中都会提到。这里主要讲下插入排序。 插入排序: 插入排序的大概步骤是从第二个...

    2012-12-11 22:32
    2928

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部