![](https://img-blog.csdnimg.cn/edd461a187bb450d813b887167020e28.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
文章平均质量分 77
算法
西笑生
西笑生
展开
-
斐波那契数列的多种解法 C++实现,绘图部分用Python实现
flyfish原创 2024-07-22 20:08:03 · 839 阅读 · 0 评论 -
粒子群优化算法的实践 - 多个约束条件
u是否定,返回False,是否定,双重否定表肯定。粒子群优化算法的实践 - 多个约束条件。原创 2023-12-07 14:21:52 · 574 阅读 · 0 评论 -
粒子群优化算法的实践 - 目标函数的可视化
后面做的事情是找到这个函数的极小点,采用动画的方式,在等高线上绘画出来。粒子群优化算法的实践 - 目标函数的可视化。原创 2023-12-07 10:57:11 · 163 阅读 · 0 评论 -
粒子群优化算法的实践 - 向量减法
梭鱼呢,就在水里猛蹬腿,试图用水流推动车子;大虾就更逗了,它在陆地上一蹦一跳的,想要靠自己的弹跳力移动车子。天鹅整天在天上飞来飞去,觉得自己可牛了;梭鱼呢,在水里游得欢实得很,觉得自己的力气也不小;至于大虾嘛,虽然跳不高,但还是觉得自己挺能耐的。天鹅、梭鱼与大虾,天鹅乃飞禽之王,梭鱼为水族之尊,大虾则是河川之灵。三者皆欲以己之力拉动之,然而,各自行事,车终不前。话说有一辆神车,这车啊,就是不动弹,谁也别想把它弄走。好了,这时候呢,有三个家伙出场了:天鹅、梭鱼和大虾。粒子群优化算法的实践 - 向量减法。原创 2023-12-06 14:09:25 · 95 阅读 · 0 评论 -
粒子群优化算法的实践
Particle Swarm Optimization (PSO) 粒子群优化算法 粒子群算法原创 2023-12-05 11:51:55 · 341 阅读 · 0 评论 -
判断灯的状态
2008年10月29日 星期三 对一批编号为1-100全部开关朝上(开)的灯进行以下操作: 凡是1的倍数反方向拨一次开关;2的倍数反方向又拨一次开关;3的倍数反方向又拨一次开关...... 问:最后为关熄状态的灯的编号. 分析:如果一个灯的开关被操作了基数次,那么该灯的状态为关.如何得到一个灯的开关被操作的次数?一个数(灯的编号)能被正整数整除,这些正整原创 2008-10-29 09:48:00 · 1152 阅读 · 0 评论 -
矩阵链乘法 有多少种加括号方案
矩阵链乘法 有多少种加括号方案flyfish 2015-9-19答案与Catalan数列有关递归式的解释 更改下字母就是《算法导论》上的式子 **答案就是C(n−1)C_(n-1) 例如4个矩阵相乘有5种加括号方案 5个矩阵相乘有14种加括号方案**一个关于Catalan恒等式的证明 Catalan mumber与Pascal’s Triangle的关系原创 2015-09-19 14:42:25 · 4165 阅读 · 1 评论 -
矩阵链乘法问题描述(Matrix-chain multiplication)
矩阵链乘法问题描述(Matrix-chain multiplication)flyfish 2015-9-13 矩阵链乘法问题:给定n个要相乘的矩阵构成序列<A1,A2,...,An><A_1,A_2,...,A_n>,计算乘积A1,A2...AnA_1,A_2...A_n。 Matrix-chain multiplication:We are given a sequence(chain)<A原创 2015-09-13 14:44:32 · 4585 阅读 · 0 评论 -
吃豆子过桥
flyfish 2015-10-15 一个人要过一座 80 米的桥,每走一米需要吃一颗豆子,他最多可以装 60 颗豆子,问最少需要吃多少颗豆子才能走完桥?设 桥长:长度 L 最多装多少颗豆子 容量 C分析 情况1:L <= C 一次就可以情况2:原长度是L,从L=C开始 ,在原来基础上长度每次加1,加到L=80原题L=80,C=60,L=L+1 消耗 1*2+1+C L=L+2原创 2015-10-15 18:19:15 · 3137 阅读 · 0 评论 -
利用矩阵求斐波那契数列
利用矩阵求斐波那契数列flyfish 2015-8-27 矩阵(matrix)定义一个m*n的矩阵是一个由m行n列元素排成的矩形阵列。矩阵里的元素可以是数字符号或者数学式.形如{acbd}\begin{Bmatrix}a & b\\ c & d\end{Bmatrix} 的数表称为二阶矩阵,它由二行二列组成,其中a,b,c,d称为这个矩阵的元素。形如 {x1x2}\begin{Bmatri原创 2015-08-27 00:07:37 · 17352 阅读 · 6 评论 -
最长公共子序列定义
最长公共子序列(Longest Common Subsequence,LCS)flyfish 2015-8-20假定我们有如下两个序列S1: 1 2 3 4 5 6 S2: 4 5 6 7 8 9 S1和S2有一个最长公共子序列为 4 5 6 一个子序列不一定必须是连续的,即中间可以被其他字符分开,但它们的顺序必须正确的。 最长公共子序列不一定只原创 2015-10-14 09:14:22 · 1705 阅读 · 0 评论 -
0/1背包问题 - 动态规划(C++实现)
背包问题 是一个经典的优化问题。问题描述如下:目标 :给定一组物品,每个物品都有一个重量和一个价值。还有一个背包,其容量有限。要求在不超过背包容量的前提下,选择一部分物品使得它们的总价值最大化。限制 :每个物品只能选择一次(即“0/1”),所以它要么被选中,要么不被选中。原创 2017-06-20 11:09:28 · 7777 阅读 · 1 评论 -
0/1背包问题 - 回溯法(C++实现)
0/1背包问题 - 回溯法(C++实现)flyfishBacktracking is a general algorithm for finding all (or some) solutions to some computational problems, notably constraint satisfaction problems, that incrementally builds ca原创 2017-06-26 17:25:19 · 7020 阅读 · 4 评论 -
0/1背包问题 - 分枝定界 优先队列
0/1背包问题 - 分枝定界 优先队列flyfish分枝定界branch and bound 分支定界法 分枝界限法 不同的资料不同的叫法 都是 branch and bound 在使用branch and bound 方法解背包问题时 需要使用优先队列优先队列使用标准库提供的std::priority_queue一 简单使用#include "stdafx.h"#include <iost原创 2017-06-29 16:32:04 · 2891 阅读 · 0 评论 -
0/1背包问题 - 分枝定界(C++实现)
0/1背包问题 - 分枝定界(C++实现)flyfish#include "stdafx.h"#include #include #include #include struct Item //物品定义{ int id, weight, value;//编号,重量,价值。 Item(){} I原创 2017-06-30 15:17:45 · 1645 阅读 · 2 评论 -
0/1背包问题 - 动态规划(C++实现)动态规划表格构建过程
0/1背包问题 - 以 动态规划算法 去解 flyfish0/1背包问题(0/1 knapsack problem) 我们有n种物品,编号是 0,1,2,3…,n-1,物品i的重量(weight)为wi,价值(value) 为vi。 我们假定所有物品的重量和价格都是非负的。 背包所能承受的最大重量(maximum weight capacity)为C。 限定每种物品只能选择0个或1个。目的是原创 2017-06-18 21:16:11 · 1080 阅读 · 1 评论 -
0/1背包问题 - 贪心算法
0/1背包问题 - 贪心算法flyfish贪心算法,贪婪算法,greedy algorithm《数据结构、算法与应用(C++语言描述)》 在贪婪算法(Greedy Algorithm)中,我们要逐步构造一个最优解。每一步,我们都在一定的标准下,作出一个最优决策。每一步作出的最优策略,在以后的步骤中都不允许在更改。作出贪婪决策的依据称为贪婪准则(greedy criterion)简述:考虑原创 2017-06-24 21:11:45 · 8163 阅读 · 1 评论 -
0/1背包问题 - 暴力法(C++实现)
0/1背包问题 - 暴力法(C++实现)flyfish暴力法,蛮力法,brute force都是一个意思 枚举所有的情况解决问题。放与不放到背包里,采用二进制表示,1表示放入背包,0表示不放入背包从n个不同元素中,任取m(m<=n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m<=n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号原创 2017-06-23 20:00:43 · 3815 阅读 · 0 评论 -
0/1背包问题 - 如何理解 解空间
0/1背包问题 - 如何理解 解空间问题:什么是解空间 n元齐次线性方程组的解集S={x|Ax=0}是一个向量空间,称为齐次线性方程组的解空间问题:什么是向量空间 设V为n维向量的集合,如果集合V非空,且集合V对于向量的加法及数乘两种运算封闭,那V就是向量空间问题:什么是n维向量 n个有次序的数a1,a2,a3…,an,所组成的数组称为n维向量Ax=0的含义齐次线性方程组 写成 向量方程的形式原创 2017-06-28 21:18:42 · 5506 阅读 · 0 评论 -
LevelDB 设计模式 Iterator模式
LevelDB 设计模式 Iterator模式flyfish 2015-10-9 Iterator模式(迭代器) 对象行为型模式 意图 提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示. 适用性 1 访问一个聚合对象的内容而无需暴露它的内部表示. 2 支持对聚合对象的多种遍历 3 为遍历不同的聚合结构提供一个统一的接口(支持多态迭代). 参与者原创 2015-10-09 10:27:38 · 1463 阅读 · 0 评论 -
砝码称重
原题:法国数学家梅齐亚克在他著名的《数字组合游戏》(1962)中提出了一个问题:(The Weight Problem of Bachet de Meziriac)一位商人有一个重40磅的砝码,一天不小心将砝码摔成了4块。后来商人称得每块的重量都是整磅数,而且发现这四块碎片可以在天平上称1至40磅之间的任意重量。请问这四块碎片各重多少? 一个砝码有三种状态,不放在天平上,放在天原创 2014-06-27 21:31:42 · 1575 阅读 · 0 评论 -
《编程之美》学而思-中国象棋将帅问题
中国象棋将帅问题flyfish 2015-8-11问题引自 《编程之美》中国象棋将帅问题 将帅每一着只许走一步,前进、后退、横走都可以,但不能走出“九宫”,被限制在3×3的格子里运动。将和帅不准在同一直线上直接对面。 请写出一个程序,输出将帅所有合法的位置,要求在代码中只能使用一个变量. 约定用a表示“将”,b表示“帅”一个解法是关于位操作 跳过原文提供解法一struct { unsi原创 2015-08-12 16:02:15 · 1211 阅读 · 0 评论 -
《编程之美》学而思 - 斐波那契数列(Fibonacci sequence)通项公式
《编程之美》学而思 - 斐波那契数列(Fibonacci sequence)通项公式flyfish等比数列通项公式 斐波那契等比数列公式推导 求一元二次方程 公比相等的两个等比数列各项各自相加之后,(a+b)不等于0,公比不变q1和q2 已知求a,b的值,求解二元一次方程组原创 2017-07-26 17:24:29 · 869 阅读 · 0 评论 -
《编程之美》学而思 - 最大公约数问题
《编程之美》学而思 - 最大公约数问题flyfishgreatest common divisor 最大公约数 Euclidean algorithm, or Euclid’s algorithm 欧几里德算法 common divisor 公约数 divisor 除数; 因子;主要方法 列举法:各自列出约数,再找出最大的公约数。 质因数分解法:两数各作素因数分解,然后取出共有的项乘起来。原创 2017-07-15 10:49:13 · 1093 阅读 · 0 评论 -
《编程之美》学而思-金刚坐飞机
金刚坐飞机 2015-11-2 flyfish 引用自《编程之美》 国外有一个谚语: 问:体重800 磅的大猩猩在什么地方坐? 答:它爱在哪儿坐就在哪儿坐。 这句谚语一般用来形容一些“强人”并不遵守大家公认的规则,所以要对其行为保持警 惕。 现在有一班飞机将要起飞,乘客们正准备按机票号码(1, 2, 3, …N)依次排队登机。突 然来了一只大猩猩(对,他叫金刚)。他也有飞机票,但是原创 2015-11-02 21:31:23 · 1499 阅读 · 0 评论 -
《编程之美》学而思 - 斐波那契数列(Fibonacci sequence)
《编程之美》学而思 - 斐波那契数列(Fibonacci sequence)flyfish另一个篇 利用矩阵求斐波那契数列int FibonacciRecursion(int n)//递归{ if (n > 2) return (FibonacciRecursion(n - 1) + FibonacciRecursion(n - 2)); else if (n==2)原创 2017-07-22 11:44:03 · 1225 阅读 · 0 评论 -
《编程之美》学而思 - 金刚坐飞机 问题2的解法
《编程之美》学而思 - 金刚坐飞机 问题2的解法flyfish非书上解法 问题是乘客做到自己位置的概率 假设有1个人,1个金刚 ,2个座位 金刚做到自己位置的概率是 1 / 2,因为2个座位任他选假设有2个人,1个金刚, 3个座位 金刚做到自己位置的概率是 1 / 3 ,因为3个座位任他选假设有3个人,1个金刚, 4个座位 金刚做到自己位置的概率是 1 / 4, 因为4个座位任他选假设有n原创 2017-07-11 17:57:05 · 1116 阅读 · 0 评论 -
《编程之美》学而思 - 小飞的电梯调度算法
《编程之美》学而思 - 小飞的电梯调度算法flyifsh书中题目 亚洲微软研究院所在的希格玛大厦一共有6部电梯。在高峰时间,每层都有人上下,电梯每层都停。实习生小飞常常会被 每层都停的电梯弄的很不耐烦,于是他提出了这样一个办法: 由于楼层并不算太高,那么在繁忙的上下班时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。所有乘 客从一楼上电梯,到达某层后,电梯停下来,所原创 2017-07-12 16:25:11 · 1753 阅读 · 0 评论 -
《编程之美》学而思-精确表达浮点数
C++浮点数表示flyfish 2015-10-13《编程之美》精确表达浮点数 有限小数或者无限循环小数都可以转化为分数。 有限小数:0.9 = 9/10 无限循环小数:0.333(3)= 1/3(括号中的数字表示是循环节) 1)对于有限小数:0.a1a2…an=(a1a2…an)/10n0.a_1a_2…a_n=(a_1a_2…a_n)/10^n 2)对于无限循环小数原创 2015-08-20 00:16:53 · 2192 阅读 · 0 评论