博客专栏  >  编程语言   >  程序设计与算法--常见算法学习

程序设计与算法--常见算法学习

本专栏配套学习课程资源是中国大学MOOC平台,北京大学开设的程序设计与算法(二)。专栏中将会讲解常见的基础的算法,希望对大家的学习有所帮助。

关注
1 已关注
11篇博文
  • 算法学习之分治--归并排序

    分治的基本概念: 把一个任务,分成形式和原任务相同,但规模更小的几个部分任务(通常是两个部分),分别完成,或只需要选一部完成。然后再处理完成后的这一个或几个部分的结果,实现整个任务的完成。 ...

    2017-09-19 07:24
    138
  • 算法学习之递归--表达式计算(简单计算器)

    题目: 输入为四则运算表达式,仅由整数、+、-、*、/ 、(、) 组成,没有空格,要求求其值。假设运算符结果都是整数。"/"结果也是整数。 解题思想: 表达式的计算是个递归过程,如下...

    2017-09-12 19:12
    86
  • 算法学习之递归--爬楼梯问题

    例题: 爬楼梯 树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。 例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二...

    2017-09-12 20:01
    97
  • 算法学习之递归--放苹果问题

    问题:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(注:5,1,1和1,5,1 是同一种分法) 分析:设 f(m,n) 为m个相同的苹果放到n个相同的...

    2017-09-12 21:28
    80
  • 算法学习之递归--4个数组成24的问题

    题目:给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式。 现在的问题是,是否存在一种方式使得得到的表达式的结果等于24。 这里加减乘除以及括号的运算结果和...

    2017-09-16 19:17
    78
  • 算法学习之分治--快速排序

    分治的典型应用:快速排序 基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据小,然后再按此方法对这两部分数据分别进行快速排序。 ...

    2017-09-19 07:28
    133
  • 算法学习之枚举--称硬币

    枚举就是逐个尝试,直到找出正确答案。下面通过一个称硬币问题继续学习枚举思想。 问题: 有12枚硬币。其中有11枚真币和1枚假币。假币和真币重量不同,但不知道假币比真币轻还是重。现在,用一架...

    2017-08-19 09:46
    113
  • 算法学习之枚举--熄灯问题POJ1222EXTENDED LIGHTS OUT

    题目链接http://poj.org/problem?id=1222 这道题在MOOC平台上老师当枚举例题讲的,但是我网上搜了一下更多的是高斯消元法。 二维数组模拟http://blog.csdn.n...

    2017-08-19 20:55
    113
  • 算法学习之递归--汉诺塔问题

    一个函数调用其自身就是递归。最经典的递归求阶乘如下: int Factorial(int n){ if(n == 0) return 1; return n * Fa...

    2017-08-21 19:30
    101
  • 算法学习之递归--N皇后问题

    递归的作用: 1) 替代多重循环 2) 解决本来就是用递归形式定义的问题 3) 将问题分解为规模更小的子问题进行求解 .... 现在就用递归代替多重循环解决N皇后问题。 n皇后...

    2017-08-21 21:10
    82
  • 算法学习之递归--逆波兰表达式

    递归的作用: 1) 替代多重循环 2) 解决本来就是用递归形式定义的问题 3) 将问题分解为规模更小的子问题进行求解 .... 这次我们用递归来解决递归形式的问题。 逆波兰表达...

    2017-08-22 09:29
    118
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部