#算法的乐趣

神经网络算法

我们在设计机器学习系统时,特别希望能够建立类似人脑的一种机制。神经网络就是其中一种。但是考虑到实际情况,一般的神经网络(BP网络)不需要设计的那么复杂,不需要包含反馈和递归。人工智能的一大重要应用,是分类问题。本文通过分类的例子,来介绍神经网络。一个最简单的分类,是在平面上画一条直线,左边为类0,右边为类1,直线表示为...
代码星球 ·2020-04-14

三维网格细分算法(Catmull-Clark subdivision & Loop subdivision)附源码(转载)

转载: https://www.cnblogs.com/shushen/p/5251070.html下图描述了细分的基本思想,每次细分都是在每条边上插入一个新的顶点,可以看到随着细分次数的增加,折线逐渐变成一条光滑的曲线。曲面细分需要有几何规则和拓扑规则,几何规则用于计算新顶点的位置,拓扑规则用于确定新顶点的...

图的基本算法(BFS和DFS)

图是一种灵活的数据结构,一般作为一种模型用来定义对象之间的关系或联系。对象由顶点(V)表示,而对象之间的关系或者关联则通过图的边(E)来表示。图可以分为有向图和无向图,一般用G=(V,E)来表示图。经常用邻接矩阵或者邻接表来描述一副图。在图的基本算法中,最初需要接触的就是图的遍历算法,根据访问节点的顺序,可分为广度优先...
代码星球 ·2020-04-14

C语言求最小公倍数和最大公约数三种算法(经典)

把以前写的一些经验总结汇个总,方便给未来的学弟学妹们做个参考!                     &nb...

RMQ问题(线段树算法,ST算法优化)

对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在[i,j]里的最小(大)值,也就是说,RMQ问题是指求区间最值的问题主要方法及复杂度(处理复杂度和查询复杂度)如下:1.朴素(即搜索)O(n)-O(n)2.线段树(segmenttree)O(n)-O(qlogn)3.ST(...
代码星球 ·2020-04-14

Lucas-Kanade算法总结

Lucas-Kanade算法广泛用于图像对齐、光流法、目标追踪、图像拼接和人脸检测等课题中。 一、核心思想给定一个模板和一个输入,以及一个或多个变换,求一个参数最佳的变换,使得下式最小化在求最优解的时候,该算法假设目前的变换参数已知,并迭代的计算的增量,使得更新后的能令上式比原来更小。则上式改写为: ...
代码星球 ·2020-04-14

信息学奥赛一本通算法(C++版)基础算法:高精度计算

高精度加法(大位相加)1#include<bits/stdc++.h>2usingnamespacestd;3intmain()4{5chara1[100],b1[100];6inta[100],b[100],c[100];//a,b,c分别存储加数,加数,结果7intlena,lenb,lenc,x,i;...

从零开始学算法:高精度计算

注:转载请注明:http://www.cnblogs.com/ECJTUACM-873284962/ 前言:由于计算机运算是有模运算,数据范围的表示有一定限制,如整型int(C++中int与long相同)表达范围是(-2^31~2^31-1),unsignedlong(无符号整数)是(0~2^32-1),都约...

算法--枚举策略

枚举法的基本思想是根据提出的问题枚举所有可能状态,并用问题给定的条件检验哪些是需要的,哪些是不需要的。能使命题成立,即为其解。枚举结构:循环+判断语句。 虽然枚举法本质上属于搜索策略,但是它与后面讲的回溯法有所不同。因为适用枚举法求解的问题必须满足两个条件:⑴可预先确定每个状态的元素个数n;⑵状态元素a1,a...
代码星球 ·2020-04-14

零基础学并查集算法

 并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?)来看一个实例,杭电1232畅通工程首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间...
代码星球 ·2020-04-14

零基础学贪心算法

本文在写作过程中参考了大量资料,不能一一列举,还请见谅。贪心算法的定义:贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影...
代码星球 ·2020-04-14

欧里几德及扩展欧里几德算法

欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。第一种证明:   a可以表示成a=kb+r,则r=amodb  假设d是a,b的...
代码星球 ·2020-04-14

博弈论及算法实现

在生活中五子棋也是一种先手有必赢策略的游戏,有人会说五子棋先手我也会输啊,所以博弈论问题都有个类似如“参与者足够聪明”,“两人都不犯错"的前提。   在此前提下,讨论几种常见的博弈情形。   {===============...
代码星球 ·2020-04-14

next_permutation(全排列算法)

 STL提供了两个用来计算排列组合关系的算法,分别是next_permutation和prev_permutation。首先我们必须了解什么是“下一个”排列组合,什么是“前一个”排列组合。考虑三个字符所组成的序列{a,b,c}。   ...

机器学习算法原理解析

距离判别法,即最近邻算法KNN;贝叶斯分类器;线性判别法,即逻辑回归算法;决策树;支持向量机;神经网络;K最近邻(k-NearestNeighbor,KNN)分类算法是最简单的机器学习算法。KNN算法的指导思想是“近朱者赤,近墨者黑”,由你的邻居来推断你的类型。本质上,KNN算法就是用距离来衡量...
首页上一页...8384858687...下一页尾页