算法
文章平均质量分 59
CAPTIAN船长
19910825
展开
-
001.约瑟夫问题
约瑟夫问题:n个人围成一圈,初始编号从1~n排列,从约定编号为x的人开始报数,数到第m个人出圈,接着又从1开始报数,报到第m个数的人又退出圈,以此类推,最后圈内只剩下一个人,这个人就是赢家,求出赢家的编号。方案1: 数组方案2:链表方案3:递归公式如下:old = (new + q) % n这里的old和new指的是下标,n指的是总共有多少人int f(int n, int m){ return n == 0 ? n : (f(n - 1, m) + m) % n;}...原创 2022-03-20 23:21:22 · 607 阅读 · 0 评论 -
微积分的思维-降维打击
在工程设计中,普遍地会用到微积分来分析曲面实体的体量大小或内力分布。所以学设计的,总要掌握一些微积分的知识才好。在学习微积分之初,老师经常会引用恩格斯在《自然辩证法》中对微积分的一句评价:只有微积分才能使自然科学有可能用数学来不仅仅表明状态,并且也表明过程:运动。从字面的表达看,“状态”有静态的含义。比如平面坐标系内X轴上的一个点,我们这样来表明它的状态:(x1,0)。点的维度是0。让这个点沿X轴运动,在运动到坐标(x2,0)时,我们这样来表明它的过程:x2-x1。这是一条直线,直线是一维的。以此类转载 2020-05-29 00:13:36 · 1574 阅读 · 0 评论 -
排序算法动图
原创 2012-11-14 15:10:40 · 843 阅读 · 0 评论 -
设计模式优秀文章集合
转自:http://archive.cnblogs.com/a/1720782/ 在此非常感谢谢博主 圣殿骑士Web Client Software Factory系列(3):View-Presenter模式作者: TerryLee.NET设计模式(18):迭代器模式(Iterator Pattern)作者: TerryLee.NET设计模式(19):观察者模式(Observer转载 2013-11-12 15:54:16 · 1287 阅读 · 0 评论 -
队列之浅析-1-基本概念及使用
队列:FIFO 先进先出 Queue 基本操作: Queue:Queue() //建立队列并初始化为空 Queue:append(const Queue_entry &x) //加入队列,满则返回上溢错误 Queue:server() //删除队首元素,空则返回下溢错误 Queue:retrieve(Queue_entry原创 2013-11-09 17:35:34 · 878 阅读 · 0 评论 -
栈之浅析-1-基本概念及使用
栈:LIFO 后进先出 原则。栈的简单使用:注:以下代码在 linux 下g++编译器编译通过。#include #include using namespace std;int main(){ int n ; double item; stacknumbers; cout<<"输入 n 个数字,反序输出"<<endl; cout<<原创 2013-11-09 16:57:48 · 829 阅读 · 0 评论 -
逐位相加法-快速取模算法
任意两个整数 A B 做乘法 C = A×B 然后把 A,B, C的十进制每个数分别相加,如果和大于10就继续把每个数相加,直到只剩一位数,分别得到 A1 B1 C1 D = A1 × B1,对D也进行每个数相加直到只剩下一位得到 D1 则 C1 = D1 举例: 835 × 267 = 222945 835 => 8 + 3 + 5 = 16 => 1 + 6 = 7 267原创 2016-02-28 15:55:35 · 4210 阅读 · 0 评论 -
协方差矩阵与主成分分析(PCA)
转自:http://pinkyjie.com/2011/02/24/covariance-pca/上次谈了协方差矩阵之后,感觉写这种科普性文章还不错,那我就再谈一把协方差矩阵吧。上次那篇文章在理论层次介绍了下协方差矩阵,没准很多人觉得这东西用处不大,其实协方差矩阵在好多学科里都有很重要的作用,比如多维的正态分布,再比如今天我们今天的主角——主成分分析(Principal Compone转载 2015-06-06 17:53:57 · 25031 阅读 · 2 评论 -
协方差矩阵
统计学的基本概念学过概率统计的孩子都知道,统计里最基本的概念就是样本的均值,方差,或者再加个标准差。首先我们给你一个含有n个样本的集合X={X1,…,Xn},依次给出这些概念的公式描述,这些高中学过数学的孩子都应该知道吧,一带而过。均值:X¯=∑ni=1Xin标准差:s=∑ni=1(Xi−X¯)2n−1−−−−−−−−−−−−−√方差:转载 2015-06-06 17:52:19 · 1024 阅读 · 0 评论 -
矩阵及其变换、特征值与特征向量的物理意义
最近在做聚类的时候用到了主成分分析PCA技术,里面涉及一些关于矩阵特征值和特征向量的内容,在网上找到一篇对特征向量及其物理意义说明较好的文章,整理下来,分享一下。 一、矩阵基础[1]:矩阵是一个表示二维空间的数组,矩阵可以看做是一个变换。在线性代数中,矩阵可以把一个向量变换到另一个位置,或者说从一个坐标系变换到另一个坐标系。矩阵的“基”,实际就是变换时所用的坐标系。而所谓的相似转载 2014-11-22 11:01:39 · 2070 阅读 · 0 评论 -
矩阵的特征值与特征向量以及相似矩阵
矩阵的特征值和特征向量1.教学目的和要求:(1) 理解矩阵的特征值和特征向量的概念及性质,会求矩阵的特征值和特征向量.(2) 了解相似矩阵的概念、性质及矩阵可相似对角化的充分必要条件,会将矩阵化为相似对角矩阵.(3) 了解实对称矩阵的特征值和特征向量的性质.2.教学重点:(1) 会求矩阵的特征值与特征向量.(2) 会将矩阵化为相似对角矩阵.3.教学难点:将矩原创 2014-11-22 10:36:03 · 19377 阅读 · 1 评论 -
SVD应用的经典例子
Singular Value Decomposition (SVD) Tutorial转载 2015-12-17 16:32:05 · 3747 阅读 · 0 评论 -
MatLab Kmeans聚类
MatLab Kmeans聚类聚类与分类 分类算法是给一个数据,然后判断这个数据属于已分好的类中的具体哪一类。 聚类算法是给一大堆原始数据,然后通过算法将其中具有相似特征的数据聚为一类,原数据可能被分为多类。原创 2015-12-20 11:30:31 · 22884 阅读 · 9 评论 -
关于数据降维的一些经典算法
数据降维0 前言降维方法可分为有监督降维方法、半监督降维方法、无监督降维方法。LDA、Fisher分析、MFA、MMC、PCA、LPP原创 2016-01-21 17:58:02 · 8443 阅读 · 0 评论 -
常用正则表达式
转自 :http://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最转载 2015-12-21 12:58:18 · 886 阅读 · 0 评论 -
EM(Expectation Maximization)算法
在求解HMM的学习问题、确立高斯混合模型参数用的都是EM算法。原创 2016-01-14 18:32:49 · 807 阅读 · 0 评论 -
加法的实现-不用加减乘除运算
来源于一个笔试题目笔试面试题目都很有意思…. 笔试题如下: 不使用加减乘除,计算一个数字的7倍位运算相信你第一个想到的方法就是位运算吧,没错,除了位运算,也没有其他办法了吧。原创 2016-10-22 23:52:46 · 1202 阅读 · 0 评论 -
Matlab emd工具箱、时频分析工具箱下载以及安装方法
Matlab工具箱通用安装方法从写完这篇文章到现在,访问量很大,影响也就比较大。虽然自己的工作已经与这方面没有多大的关系了,但本想为读者负责的态度,今天更新这篇文章,将各个工具包的最新链接供大家免费下载,因为是从官方英文网站下载的最新源码文件,并没有中文解释说明,请大家理解!如对最新版的的使用有什么问题,原谅我无法帮助大家了。每个工具箱的最新版在安装说明后都有免费下载链接,以后的路很长,...原创 2019-12-31 17:28:08 · 80190 阅读 · 109 评论 -
openssl 通过公钥/私钥加解密文件
Openssl 加解密文件命令行方式加解密文件openssl 指定加密/解密算法加密openssl 指定公钥/私钥文件加密原创 2017-01-21 13:32:19 · 8970 阅读 · 0 评论 -
关于https的优化建议
HTTPS 提供了内容加密、身份认证和数据完整性3大功能,目的就是为了加密数据,用于安全的数据传输。原创 2017-10-28 19:23:14 · 556 阅读 · 0 评论 -
零宽断言&正则表达式
#正则表达式原创 2018-11-08 09:56:35 · 321 阅读 · 0 评论 -
欧拉函数与欧拉定理
0 前言欧拉函数欧拉定理原创 2019-05-18 18:08:02 · 125 阅读 · 0 评论 -
AES-RSA概要总结
AESAES加密位数(128【10轮】,192【12轮】,256【14轮】)AES用的什么模式(ECB,CBC,CTR,CFB,OFB)AES填充方式(NoPadding,PKCS5Padding,PKCS7Padding)AES初始向量(iv【CBC模式】)1. AES加密一种对称加密,要了解三个概念:密钥、填充、模式1.1 AES密钥aes密钥:aes支持三种密钥长度:128位...原创 2019-08-23 00:51:11 · 1070 阅读 · 0 评论 -
AES算法中填充模式的区别(PKCS7Padding/PKCS5Padding/ZeroPadding)
ZeroPadding,数据长度不对齐时使用0填充,否则不填充PKCS7Padding,假设数据长度需要填充n(n>0)个字节才对齐,那么填充n个字节,每个字节都是n;如果数据本身就已经对齐了,则填充一块长度为块大小的数据,每个字节都是块大小PKCS5Padding,PKCS7Padding的子集,块大小固定为8字节。...原创 2019-08-26 20:31:48 · 17660 阅读 · 0 评论 -
量子计算机原理以及量子算法
什么是量子计算?量子计算机可以比传统计算机更有效地处理大量复杂的数据集。他们利用量子力学的基本原理来加速解决复杂计算的过程。这些计算通常包含看似无限数量的变量,潜在的应用,跨越了从基因组学到金融的各个行业。量子计算机通过破解密码和加密电子通信的能力,已经在重塑网络安全的方方面面。科技领域的一些最大参与者——包括谷歌、微软、英特尔、IBM和阿里巴巴——正在探索量子计算,以提高网络安全等更多方...翻译 2019-08-31 15:04:34 · 13332 阅读 · 4 评论 -
散列函数之冲突处理(二)
一、链地址法这种基本思想:将所有哈希地址为i 的元素构成一个称为同义词链的链表,并将链表的头指针存在哈希表的第i个单元中,因而查找、插入和删除主要在同义词链中进行。 该散列方法首先对关键码集合用某一个散列函数计算它们的存放位置。若设散列表地址空间的所有位置是从0到m-1,则关键码集合中的所有关键码被划分为m个子集,具有相同地址的关键码归于同一子集原创 2014-11-09 15:42:15 · 1050 阅读 · 0 评论 -
线性判别分析(LDA)与主成分分析(PCA)
LDA PCALDALDA的全称是Linear Discriminant Analysis(线性判别分析),是一种supervised learning。有些资料上也称为是Fisher’s Linear Discriminant,因为它被Ronald Fisher发明自1936年 LDA的原理是,将带上标签的数据(点),通过投影的方法,投影到维度更低的空间中,使得投影后的点,会形成按类别区原创 2015-12-17 14:40:53 · 2741 阅读 · 0 评论 -
奇异值分解(SVD)与特征值分解(EVD)
未完待续原创 2015-12-17 15:50:31 · 6160 阅读 · 6 评论 -
傅里叶变换资料汇总
1、An Intuitive Explanation of Fourier Theory 这是一个介绍傅里叶变换的英文网站,比较详细。2、对以上英文网站的粗略翻译3、这个博客也是不错的http://blog.sina.com.cn/s/blog_8df0c75501015vuw.html4、推荐阅读:The Scientist and Engineer's Guide to原创 2014-12-28 21:42:37 · 1152 阅读 · 0 评论 -
SVD奇异值分解的几何物理意义资料汇总
学习SVD奇异值分解的网上资料汇总:1、 关于svd的一篇概念文,这篇文章也是后续几篇文章的鼻祖~http://www.ams.org/samplings/feature-column/fcarc-svd 2、关于SVD物理意义分析比较透彻的文章http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applica原创 2014-12-19 20:49:39 · 4272 阅读 · 0 评论 -
乘法散列函数之散列值问题
原创 2014-11-06 17:19:33 · 2347 阅读 · 4 评论 -
除法散列函数之散列值问题
算法导论对于除法散列函数的描述。原创 2014-11-06 16:55:10 · 3694 阅读 · 1 评论 -
Voronoi图与Delaunay三角剖分
Voronoi图与Delaunay三角剖分 Voronoi图的定义 1.设p,q是平面上的两个点,L是pq的中垂线,L将平面分为两个部分【L左】和【L右】,在【L】左内的点r有特性|pr| 2.给定平面上n个点的点集S={p1,p2,……pn}。定义V(pi)是所有j(i!=j)的H(pi,pj)的交集,即V(pi)表示比其他点更接近于pi的电的轨迹是n-1个半平面的交,这是一转载 2014-11-26 14:44:11 · 15546 阅读 · 0 评论 -
图论-度序列可图性判断(Havel-Hakimi定理)
图论基础是人工智能机器学习关键,我建议大家找几个比较靠谱入门的机器学习或者人工智能学习平台,在此推荐一个我看过的小白人工智能入门教程,零基础教程,简单通俗易懂,点击这里可以直达:人工智能入门基础教程,一定要系统全面的去学习才能有效果,不要半途而废,0、可图:一个非负整数组成的序列如果是某个无向图的度序列,则该序列是可图的。1、度序列:Sequence Degree,若把图G所有顶点的度数...原创 2014-11-20 10:45:02 · 15471 阅读 · 3 评论 -
散列函数之冲突处理之开地址法
二、开地址法基本思想:当关键码key的哈希地址H0 = hash(key)出现冲突时,以H0为基础,产生另一个哈希地址H1 ,如果H1仍然冲突,再以H0为基础,产生另一个哈希地址H2 ,…,直到找出一个不冲突的哈希地址Hi ,将相应元素存入其中。这种方法有一个通用的再散列函数形式: 其中H0 为hash(key) ,m为表长,di称为增量序列。增量序列的原创 2014-11-18 22:26:57 · 1541 阅读 · 0 评论 -
散列表基本概念以及常见散列函数构造方法(一)
1、散列表(hash table) ,也叫哈希表,是根据关键码而直接进行访问的数据结构。也就是说,它通过把关键码映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。原创 2014-11-09 13:28:36 · 2689 阅读 · 0 评论 -
散列函数(哈希函数)算法
常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。C++代码对于以上几种哈希函数,对其进行了一个小小的评测。Hash函数数据1数据2数据3数据4数据1得分数据2得分数据3得分数据4得分平均分BKD原创 2014-11-07 16:19:19 · 3341 阅读 · 0 评论 -
异或运算及其应用-查找奇数个数的数字
异或运算功能很强大。用的得当可以提高算法效率。先说一下异或运算的运算法则: 1. a ^ b = b ^ a 2. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c 3. d = a ^ b ^ c 可以推出 a = d ^ b ^ c 4. a ^ b ^ a = b原创 2014-04-08 18:15:45 · 3623 阅读 · 0 评论 -
C#实现快速排序算法
快速排序算法:原创 2014-04-29 15:46:40 · 1938 阅读 · 0 评论 -
马尔可夫链-Chapman-Kolmogorov方程及其n步转移概率矩阵
马尔可夫过程:马尔可夫过程按照其状态和时间参数是否连续或者离散分为三种:1.时间和状态都离散的叫做马尔科夫链,2.时间和状态都是连续的叫做马尔科夫过程,3.时间连续,状态离散的叫做连续时间的马尔科夫链。马尔可夫过程,其特点是,当过程在时刻 T0所处的状态为已知的条件下,过程在 T 时刻(T>T0)所处的状态仅与时刻T0 有关,而与过程在T0之前的时刻无关系。首先声明的...原创 2014-11-21 23:54:11 · 87611 阅读 · 8 评论