算法
文章平均质量分 72
水田如雅
不生产代码,只是代码的搬运工
展开
-
动态规划1 —— 01背包详解
从斐波那契数列说起斐波那契数列(Fibonacci sequence),对于n(n>=0),n=0时,f(0)=0;n=1时,f(1)=1;n=2时,f(2)=f(0)+f(1);n=3时,f(2)=f(1)+f(2);以此类推…求解f(n)。最早 ,我们可能在课本上学过,这是个经典的递归问题,于是,能很很快写出递归的代码: public int fib(int N) { if (N == 0) { return 0; }原创 2021-09-03 18:37:14 · 342 阅读 · 0 评论 -
深度优先搜索(DFS)
/** * \* Created: liuhuichao * \* Date: 2019/7/12 * \* Time: 27:00 PM * \* Description: 深度优先搜索 - DFS * \ */public class DFS_Temple { /* * 基于递归的模板 */ boolean DFS(Node cur, No...原创 2019-07-16 21:47:41 · 399 阅读 · 0 评论 -
数组常用算法——二分法查找模板
/** * \* Created: liuhuichao * \* Date: 2019/5/6 * \* Time: 30:06 PM * \* Description: 二分法查找的模板 * \ */public class BinarySearchDemo { /** * 关键属性: * * 二分查找的最基础和最基本的形式。 * * 查找...原创 2019-05-07 20:13:09 · 628 阅读 · 0 评论 -
分治法——循环赛日程安排问题
问题描述:设有n(2^k)位选手参加网球循环赛,循环赛共进行n-1天,每位选手要与其他n-1位选手比赛一场,且每位选手每天只能赛一场,试安排比赛。举例说明:1,当n为偶数时,循环赛一共要进行n-1天;比如,有运动员:周董,信哥,蔡依林,小七,一共4个人,可以如下安排: 运动员 第一天 ...原创 2014-11-05 16:51:13 · 6128 阅读 · 9 评论 -
回溯法——求解0-1背包问题
以前研究过一个简单的N皇后问题,对回溯法也有了个模糊的认识,大致理解就是:先一直做某件事,当完成某个条件时或者是触犯某个条件时,再返回到最近的一个类似还原点的地方。 在用回溯法求解0-1背包问题的时候,主要遇到三个相对难解决的问题:1,什么是界限函数;2,什么时候用它;3,回溯到哪儿。 什么是界限函数?...原创 2014-10-28 08:45:34 · 6801 阅读 · 34 评论 -
动态规划法——最长公共子序列问题
这个题当初始终看不下去的原因就是当初误解了什么叫最长公共子序列,还一度以为这个题有问题,其实如果明白了什么叫最长公共子序列,也就解决了一半的问题。什么是最长公共子序列? 什么是最长公共子序列呢?举个简单的例子吧,一个数列S,若分别是两个或多个已知序列的子序列,且是所有符合条件序列中最长的,则S称为已知序列的最长公共子序列。...原创 2014-10-27 21:52:36 · 2405 阅读 · 18 评论 -
动态规划法——求解0-1背包问题
问题描述0-1背包问题与背包问题(贪心法——背包问题)最大的不同就是背包问题的子问题彼此之间没有联系,所以只要找出解决方法,然后用贪心算法,取得局部最优解就ok了,但是0-1背包问题更复杂,因为物品不可再分,导致了子问题之间是有联系的。问题分析 1,刻画背包问题最优解的结构...原创 2014-10-25 22:01:27 · 3243 阅读 · 17 评论 -
回溯法——求解N皇后问题
问题描述 八皇后问题是十九世纪著名数学家高斯于1850年提出的。问题是:在8*8的棋盘上摆放8个皇后,使其不能互相攻击,即任意的两个皇后不能处在同意行,同一列,或同意斜线上。可以把八皇后问题拓展为n皇后问题,即在n*n的棋盘上摆放n个皇后,使其任意两个皇后都不能处于同一行、同一列或同一斜线上。问题分析 我们以最简单的4皇后问题分析,显然,...原创 2014-10-25 21:48:39 · 7574 阅读 · 17 评论 -
数据表示
软考中涉及到很多码,比如原码,反码,补码,移码。。。。。还是先来看张整体图吧。 首先是原,反,补,这三个要分正负;接着是移码,可以根据补码求。最后是处理小数的表示问题,和浮点数取代定点数表示小数的方法。 这些东西在硬件的学习中属于数字电路那部分的基础知识,因为计算机还是用来编码和解码的东西原创 2014-10-23 20:37:06 · 2117 阅读 · 17 评论 -
贪心法——活动选择问题和背包问题
今天上午听了米老师讲的算法,感觉收获很多,对于算法更加有信心了。首先,先来宏观看一下: 这三种算法总的来说,刚开始看的时候不知道怎么下手,但是看多了也会有那么一点儿感觉。分治法是这三种算法里面都有的思想,动态规划和贪心都是将问题分解成子问题求解,但动态规划里面的子问题都带有联系,而贪心算法里面的子问题都...原创 2014-10-23 20:19:32 · 2786 阅读 · 28 评论