#算法的乐趣

【重学计算机】数据结构与算法

PS:根据极客时间《数据结构与算法之美--王争》学习总结,极客时间版权所有:https://time.geekbang.org时间复杂度:表示方式:大O表示法,表示代码执行时间随数据增长的趋势,也叫渐进时间复杂度计算方法:加法法则,乘法法则常见量级:O(1)、O(logn)、O(n)、O(nlogn)、O(n2)......

身份证号码验证算法

做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码。查阅了网上的身份证号码验证算法,自己也总结一下。(一)18身份证号码的结构  公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。  排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码...

更快找到正确的机器学习算法

(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)题记:机器学习无疑是现在一个高大上的热点,而且微软在Azure提供了机器学习的服务。那么如何更快找到正确的机器学习算法呢?微软也给大家提供了建议。随着大数据的深入应用,机器学习也从学术界逐步走入到工业界,现在电子商务、社交、广告、智能...

sha256算法原理

SHA256是SHA-2下细分出的一种算法SHA-2下又可再分为六个不同的算法标准包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。这些变体除了生成摘要的长度、循环运行的次数等一些微小差异外,算法的基本结构是一致的。回到SHA256上,说白了,它就是...
代码星球 ·2020-04-11

(原创)详解KMP算法

KMP算法应该是每一本《数据结构》书都会讲的,算是知名度最高的算法之一了,但很可惜,我大二那年压根就没看懂过~~~之后也在很多地方也都经常看到讲解KMP算法的文章,看久了好像也知道是怎么一回事,但总感觉有些地方自己还是没有完全懂明白。这两天花了点时间总结一下,有点小体会,我希望可以通过我自己的语言来把这个算法的一些细节...
代码星球 ·2020-04-11

JavaScript中的不同逻辑算法结合操作解决实际多重问题以及常用函数类型

数组去重+快速排序//老数组vararr1=[1,2,2,3,8,6,6,4,5,5];//定义新数组vararr2=[];内部可运用布尔类型进行判断数组的唯一性for(i=0;i<arr1.length;i++){varstatus=0;for(j=0;j<arr2.length;j++){if(arr1...

深度学习(一)——CNN算法流程

参考:http://dataunion.org/11692.html    20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(ConvolutionalNeur...

Adam 算法

Adam算法和传统的随机梯度下降不同。随机梯度下降保持单一的学习率(即alpha)更新所有的权重,学习率在训练过程中并不会改变。而Adam通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率Adam算法的提出者描述其为两种随机梯度下降扩展式的优点集合,即:适应性梯度算法(AdaGrad)为每一个参...
代码星球 ·2020-04-11

第十四章 数字签名算法--RSA

注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第9章“带密钥的消息摘要算法--数字签名算法”《大型分布式网站架构(设计与实践)》第3章“互联网安全架构”14.1、数字签名算法特点:非对称加密算法+消息摘要算法的结合体抗否认性、认证数据来源、防止数据被篡改(...

[区块链] 共识算法之争(PBFT,Raft,PoW,PoS,DPoS,Ripple)

  近几天对区块链中几种常见的共识机制(PBFT,Raft,PoW,PoS,DPoS,Ripple)进行了总结。尽量使用简单易懂语言,篇幅较大,想了解的可以只读每个算法介绍中前边的原理。本篇文章主要参考《区块链技术指南》,首先表示感谢!   ---Begin---  区块链架构是一种分布式的架构。其部署模式有...

动态规划(DP)算法

参考https://blog.csdn.net/libosbo/article/details/80038549 动态规划是求解决策过程最优化的数学方法。利用各个阶段之间的关系,逐个求解,最终求得全局最优解,需要确认原问题与子问题、动态规划状态、边界状态、边界状态结值、状态转移方程。 以下每个例题,...
代码星球 ·2020-04-11

经典算法之快速选择算法

相信快速排序算法这种经典的算法大家并不陌生。但是基于快速算法的各种变形,你了解吗? 其中很重要的一种变形就是快速选择算法, 通常用来在未排序的数组中寻找第k小/第k大的元素。快速选择及其变种是实际应用中最常使用的高效选择算法。 快速选择的总体思路与快速排序一致,选择一个元素作为基准来对元素...
代码星球 ·2020-04-11

最小生成树之克鲁斯卡尔(kruskal)算法

前面讲了最小生成树的Prim算法的实现思路是,通过顶点的扩展不断地寻找最小权重的生成树,而Kruskal算法是查找最小权值的边,然后逐渐把连通分量变为一个联结全部顶点的最小生成树。不同于Prim算法,这次用边集数组结构来实现Kruskal算法 结构很简单,包括权值,边的弧起点和终点的下标将前面Prim例子中的...

指派问题(匈牙利算法)

问题描述:在生活中经常遇到这样的问题,某单位需完成n项任务,恰好有n个人可承担这些任务。由于每人的专长不同,各人完成任务不同(或所费时间),效率也不同。于是产生应指派哪个人去完成哪项任务,使完成n项任务的总效率最高(或所需总时间最小)。这类问题称为指派问题或分派问题。指派问题也是0-1规划,线性规划用到的是官网scip...

【算法】快速幂运算

在计算xn 时,我们会怎么算呢?如果只是x*x*x*...*x 这样每个数乘起来计算n次的的话,虽然算法简单,但是复杂度为 O(n) ,往往不能满足要求。让我们来考虑加速幂运算的方法。如果 n=2k ,可以将其表示为  xn=((x2)2)...
代码星球 ·2020-04-11
首页上一页...8788899091...下一页尾页