
算法
文章平均质量分 63
大佬发明的算法学习笔记
大西瓜不甜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++粒子群优化算法解决多维01背包问题
#include<random>#include <iostream>#include<vector>#include<fstream>#include <time.h> using namespace std;//rewrite the <bool operator<(vector<int>&a ,vector<int>&b) { bool res = true; if .原创 2021-04-18 14:21:28 · 910 阅读 · 0 评论 -
PSO算法简介
粒子群优化算法(Particle Swarm Optimization,简称PSO), 是1995年Eberhart博士和Kennedy博士一起提出的,它是源于对鸟群捕食行为的研究。粒子群优化算法的基本核心是利用群体中的个体对信息的共享从而使得整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得问题的最优解。当然这是一种比较正式的说法,对于我们这些数模小白来说肯定希望有一种更加直观形象的解释。我们不妨假设自己是一只身处鸟群中的鸟,现在要跟随头领去森林里找食物,我们每一只鸟都知道自己离食物的距离原创 2021-04-15 11:04:42 · 6785 阅读 · 0 评论 -
数学之于编程
给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 解题思路:设将长度为 nnn 的绳子切为 aaa 段:n=n1+n2+...+nan = n_1 + n_2 + ... + n_an=n1+n2+...+na原创 2021-03-21 12:41:31 · 296 阅读 · 0 评论 -
《剑指offer》刷题技巧(c++版)
剑指 Offer 06. 从尾到头打印链表使用vector的insert函数,通过头插法插入到数组中single element (1) iterator insert (const_iterator position, const value_type& val); fill (2) iterator insert (const_iterator position, size_type n, const value_type& val)原创 2021-03-20 15:10:50 · 347 阅读 · 0 评论 -
c++ STL容器 set使用介绍
顺序容器包括vector、deque、list、forward_list、array、string,所有顺序容器都提供了快速顺序访问元素的能力。关联容器包括set、map关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的。与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的。关联容器不支持顺序容器的位置相关的操作。原因是关联容器中元素是根据关键字存储的,这些操作对关联容器没有意义。而且,关联容器也不支持构造函数或插入操作这些接受一个元素值和一个数量值得操作。原创 2021-03-17 16:43:56 · 218 阅读 · 0 评论 -
数值计算——雅可比迭代法解线性方程组
1.雅克比迭代法的计算过程:(1).取初始向量: (1)(2).迭代过程 ...原创 2020-11-02 15:58:25 · 4322 阅读 · 0 评论 -
判断一个图是否有环
对于无向图算法1我们知道对于环1-2-3-4-1,每个节点的度都是2,基于此我们有如下算法(这是类似于有向图的拓扑排序):求出图中所有顶点的度, 删除图中所有度<=1的顶点以及与该顶点相关的边,把与这些边相关的顶点的度减一 如果还有度<=1的顶点重复步骤2 最后如果还存在未被删除的顶点,则表示有环;否则没有环时间复杂度为O(E+V),其中E、V分别为图中边和顶点的数目,这个算法我们稍后分析算法3的时候再分析。算法2深度优先遍历该图,如果在遍历的过程中,发现某个节.原创 2020-09-27 17:52:44 · 1568 阅读 · 1 评论 -
FCM聚类算法介绍
FCM算法是一种基于划分的聚类算法,它的思想就是使得被划分到同一簇的对象之间相似度最大,而不同簇之间的相似度最小。模糊C均值算法是普通C均值算法的改进,普通C均值算法对于数据的划分是硬性的,而FCM则是一种柔性的模糊划分。在介绍FCM具体算法之前我们先介绍一些模糊集合的基本知识。1模糊集基本知识 首先说明隶属度函数的概念。隶属度函数是表示一个对象x隶属于集合A的程度的函数,通常记做μA(x),其自变量范围是所有可能属于集合A的对象(即集合A所在空间中的所有点),取值范围是[0,1],即0<..原创 2020-06-28 22:20:28 · 4477 阅读 · 0 评论 -
希尔密码 原理
希尔密码(Hill Cipher),是运用基本矩阵论原理的替换密码,每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果mod26。用作加密的矩阵(即密匙)必须是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。例题:在线代的课本上出现了一堆神秘字母dloguszijluswogany而旁边的矩阵是1 20 1快找出flag吧key格式:simCTF{}1、求矩阵的逆矩阵。...原创 2020-06-07 08:25:43 · 3881 阅读 · 0 评论 -
排序算法动态演示
0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 0.2 算法复杂度0.3 相关概念稳定:如果a...转载 2020-04-29 14:54:42 · 529 阅读 · 0 评论 -
欧几里得算法求最大公约数
欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。欧几里德算法是用来求两个正整数最大公约数的算法。是由古希腊数学家欧几里德在其著作《The Elements》中最早描述了这种算法,所以被命名为欧几里德算法。扩展欧几里德算法可用于RSA加密等领域。假如需要求 1997 和...原创 2020-04-08 08:41:42 · 6741 阅读 · 3 评论 -
迪杰克斯拉单源最短路径算法
Dijkst...原创 2020-04-05 15:05:44 · 824 阅读 · 0 评论 -
弗洛伊德最短路径算法的傻瓜解释
暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有,如下图。为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程。 上图中有4个城市8条公路,公路上的数字表示...原创 2020-04-05 14:24:36 · 382 阅读 · 0 评论 -
动态规划与递归的区别
递归与动态规划是两个刚好相反但是解题思路相同的过程。两个方法都是通过把一个大的问题化小,小到可以一步解决,递归是采用从顶层 层层递归,知道递归出口之后得到结果。而动态规划是从本来需要递归的最底层 开始层层往上计算出结果。举个例子就像计算n的阶乘的问题,递归的思想就是int factorial(int n){if(n==0||n==1)return 1;else ...原创 2020-03-06 09:59:35 · 3560 阅读 · 0 评论 -
最短路径 dijkstra floyd 算法
Dijkstra算法单源点最短路径问题Dijkstra算法主要用来解决单源点最短路径问题。给定带权有向图G=(V,E),其中每条...原创 2020-03-11 08:46:56 · 263 阅读 · 0 评论 -
Prim算法 与 Kruskal算法 求最小生成树
一、Prim算法普利姆(Prim)算法适用于求解无向图中的最小生成树(Minimum Cost Spanning Tree)。下面是Prim算法构造最小生成树的过程图解。  ...原创 2020-03-10 16:53:52 · 8047 阅读 · 0 评论 -
贪心策略(更新中)
遇到求最大、最小、最多等最值问题时,应优先考虑是否能用贪心策略求解。若问题满足最优子结构性质,即该问题具备无后效性,那么全局最优解便可由求子问题的最优解得到。此时就应该选择使用贪心策略。...原创 2020-03-02 18:38:26 · 263 阅读 · 0 评论 -
KMP算法实现代码(c++)
一道经典编程题目 Number Sequence 应用kmp算法的解决:题目大意:给出两个数字序列(字符串也通用),在序列a中匹配到和序列b中完全相同的字串,返回第一次发生匹配的位置,(如果有多次匹配,可以将结果存入vector,最后输出)。样例输入:213 51 2 1 2 3 1 2 3 1 3 2 1 21 2 3 1 313 51 2 1 2 3 1 2...原创 2020-02-05 10:41:41 · 345 阅读 · 0 评论 -
KMP算法图解之过程实现
KMP算法图解之过程实现 本文是图中的老人所写的中文版,作者是谁无法确定,毕竟转载已经让原作者消失在网络的海洋,不过我依然要在此表示对两位作者由衷的感谢。 读完本文,对KMP有了初步的认识,但文中对关...转载 2020-02-05 09:28:38 · 426 阅读 · 1 评论 -
KMP 算法【转载】
从头到尾彻底理解KMP 作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。后收录于新书《编程之法:面试和算法心得》第4.4节中。 1. 引言 本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱。所以一直想找...转载 2020-02-04 16:45:51 · 307 阅读 · 0 评论