算法相关技术专家
暂时未有相关通用技术能力~
阿里云技能认证
详细说明在谈论母函数问题之前,我们先看一个简单的问题描述:假如有两组数据(A,B)和(C,D),每组中选出一个构成一个组合,总共有几种选法?很显然总共有4种选法:AC,AD,BC,BD。而且很容易联想到这个式子(A+B)*(C+D)=A*C+A*D+B*C+B*D。
我在许多书本上看到冒泡排序的最佳时间复杂度是O(n),即是在序列本来就是正序的情况下。 但我一直不明白这是怎么算出来的,因此通过阅读《算法导论-第2版》的2.2节,使用对插入排序最佳时间复杂度推算的方法,来计算冒泡排序的复杂度。
分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。
基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。
ln在数学里表示的是以常数e(无理数,约等于2.71828...)为底的自然对数符号。即lnm=loge(m)其中,log (英语名词:logarithms)表示的是对数运算。当a^b=n时,也可表示为log(a)(n)=b。
目录: 1.渐近精确界记号:Θ(big-theta) 2.渐近上界记号 :O(big-oh) 3.渐近下界记号 :Ω(big-omege) 4.非渐近紧确上界:o(小-oh) 5.非渐近紧确下界:ω(小-omege) 6.
1 大部分程序的大部分指令之执行一次,或者最多几次。如果一个程序的所有指令都具有这样的性质,我们说这个程序的执行时间是常数。 logN 如果一个程序的运行时间是对数级的,则随着N的增大程序会渐渐慢下来,如果一个程序将一个大的问题分解成一系列更小的问题,每一步都将问题的规 模缩减成几分之一 ,一般就会出现这样的运行时间函数。
Θ O(f(n)),给出了算法运行时间的上界,也就是最坏情况下的时间复杂度; Ω(f(n)),给出了算法运行时间的下界,也就是最好情况下的时间复杂度; Θ(f(n)),给出了算法运行时间的上界和下界,这里Θ(f(n))是渐近的确界,另外,并非所有的算法都有Θ(f(n)).
1、没有捕捉不到的猎物,就看你有没有野心去捕;没有完成不了的事情,就看你有没有野心去做。 2、没有猎物我们就去寻找猎物,发现猎物我们就去追逐猎物。寻找、发现、追求、获得———这就是狼的生活要素。 3、尽管面对上万只的黄羊,面对凶猛的老虎,我们都毫不退缩。
/** * JsonParse * Created by usher.yue. * User: usher.yue * Date: 17/9/7 * Time: 13:50 * 心怀教育梦-烟台网格软件技术有限公司 */ class JsonConvert { ...
利用js解析php的表单数据 /** * JsonParse * Created by usher.yue. * User: usher.yue * Date: 17/9/7 * Time: 13:50 * 心怀教育梦-烟台网格软件技术有限公司 */ var ...
可能很少有人意识到,在一个进程调用了exit之后,该进程 并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构。在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所 有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有 任何内存空间。
下面一段代码涉及到了 ZooKeeper 创建group、为group添加member、列出group下面的 member、递归删除group。 这里我引用的是 ZooKeeper 3.4.10 提供的jar包。
ZooKeeper是一套协作服务,主要用来构建分布式架构的应用,通过ZooKeeper我们可以安全的处理分布式应用下的局部故障问题。我们知道ZooKeeper就是Hadoop中的分布式协作服务组件。
Node.js与PHP之间通过RSA算法实现签名验证 做过web开发的同学都知道我们经常在接口间交互的时候为了防止数据伪造并 且保证安全性我们会采用签名的方式进行验证, 签名的算法我们一般选择RSA非对称加密算法。
Linux僵尸进程详细解析 在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用 waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill-9也不能杀死僵尸进 程。
线程的分离与结合 在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
本篇文章介绍一下使用TLS/SSL创建安全的TCP通信,首先我们要准备一个数字证书和一个密钥关于如何产生密钥,请看下面文章: Author: 岳东卫 Email: usher.
package main import ( "crypto/hmac" "crypto/md5" "crypto/sha1" "encoding/hex" "fmt" ) func Md5(data string) string { md5 := md5.
RSA非对称加密算法,基于PKCS#1规范, 我们在使用RSA的时候需要提供 公钥和私钥 , 我们可以通过openss来为我们生成对应的pem格式的公钥和私钥匙。 关于pkcs相关标准如下,摘自百度: PKCS#1:定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述的数字签名和数字信封[22]。
最近有一个需求需要在golang中实现AES ECB模式的加密和解密, 看了一下官方文档和相关资料发现golang 官方包并没有完善的实现,于是自己尝试写了一个,本文中的AES算法是基于ECB模式,关于AES算法的几种模式原理大家可以去百度搜索一下,集中模式如下。
在今天的文章中,我们将共同了解十三款机器学习框架,这些框架中最值得关注的特性,在于它们正致力于通过简单而新颖的方式应对与机器学习相关的种种挑战。 过去几年以来,机器学习已经开始以前所未有的方式步入主流层面。
本文翻译自golang官方 ,英文文章原地址 https://blog.golang.org/strings ,主要介绍了 go中的 strings 、bytes、 runes 、characters。
好久没登录博客园了,今天来一发分享。 最近项目里有个需求,上传文件(好吧,这种需求很常见,这也不是第一次遇到了)。当时第一想法就是直接用form表单提交(原谅我以前就是这么干的),不过表单里不仅有文件还有别的信息需要交互,跟后端商量后决定文件单独上传,获取到服务器端返回的文件地址在和表单一起提交。
在php.ini中可以设置服务器对错误的报警级别。在默认情况下,php将报告除了通知之外的所有错误。错误报告级别是通过一些预定义的常量来设置的,语法int error_reporting ( [int level] )如果参数 level 未指定,当前报错级别将被返回。
golang解析数字证书 基础知识 在解析数字证书之前我们要学习一下数字证书的知识,明白一下数字证书中的一些概念。 下面这些知识是你所要了解的,PKCS#8、 PKCS#1、Certificate Chan、Openssl 将PKCS#1和PKCS#8进行...
Format Name Description PKCS #7 Cryptographic Message Syntax Standard A PKCS #7 file can be used to store certificates, which is a SignedData structure without data (just the certificates).
Openssl与数字证书的使用详解 数字证书这个概念大家应该并不陌生,比如我们在利用Nginx提供https服务的时候需要我们去CA申请一 个包含我们的公钥信息、身份信息、数字签名的证书,再比如我们在使用银行的U盾的时候也是在客户机器上安装了用户的数字证书,数字证书就好像我...
golang中解决tcp传输中的粘包问题 Author: 岳东卫 Email: usher.yue@gmail.com 什么是粘包? 最近在写https://github.com/UsherYue/ActivedRouter (一个http/https反向代理服务)的时候遇到了粘包问题, 如果有做过网络编程的小伙伴应该都知道粘包问题,举个例子: 比如客户端在和服 务器进行通信采用的是json格式的数据包。
关于字节序 字节序指的是一个大于2个字节的类型的数据例如int 、long等在内存中的字节顺序。 字节序分为: 网络字节序 (Big Endian) 比如 0x11223344 ,占四个字节,那么他的网络字节序在内存中就是 按照 44 33 22 11 排列,也就是Big Endian是低位存储在内存的低地址,高位 存储在内存的高地址。
golang vet工具的使用 一般来说每一门语言都有一些用来进行语法检查的工具,vet就是golang中提供的语法检查工具,可以让我检查出package或者源码文件中一些隐含的错误,规范我们的项目代码,下面我简单讲解下该工具的使用.
近期在写 ActivedRouter项目的时候需求一个缓存模型,要求缓存模型支持不同驱动,例如:memory、file、redis、mysql,实现思路代码如下: cache.go文件,定义缓存对外接口 //ActivedRouter //Author:usher.
package tools import ( "crypto/md5" "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/base64" "encoding/hex" "encoding/pem" "errors" ) co...
最近在写练手项目的时候,需求一个功能: 实现通过数组或者切片的索引删除 任意类型数组或者切片的内容,并且返回删除后的结果集,找了半天发现 官方package中没有Java.util.Arrays 这样的工具类的实现,只好自己写一个 ,由于golang中没有c++ 、java中泛型的概念,所以只...
1、背景 Javascript的继承模型、原型链等等概念比较晦涩难懂, 很多人过去在使用Javascript的时候并没有刻意去搞明白其中的原理,今天笔者一步一步分析一下JavaScript中的继承、原型链、prototype、__proto__。
测试框架 Mocha 实例教程 作者: 阮一峰 日期: 2015年12月 3日 Mocha(发音"摩卡")诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用。
我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的B-Tree索引。其中聚集索引,次要索引,覆盖索引,复合索引,前缀索引,唯一索引默认都是使用B+树索引,统称索引。当然,除了B+树这种类型的索引之外,还有哈稀索引(hash index)等。
1.find MongoDB使用find来进行查询.查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合.find的第一个参数 决定了要返回哪些文档.其形式也是一个文档,说明要查询的细节.
直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非BSD风格的UNIX系统中的 mysql.server脚本其实也是调用mysqld_safe脚本去启动MySQL服务器的。
前言: 说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决。
单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用,而在架构单点登录时,也会遇到一些小问题,在不同的应用环境中可以采用不同的单点登录实现方案来满足需求。我将以我所遇到的应用环境以及在其中所经历的各个阶段与大家分享,若有不足,希望各位不吝赐教。
一、prototype和__proto__的概念 prototype是函数的一个属性(每个函数都有一个prototype属性),这个属性是一个指针,指向一个对象。它是显示修改对象的原型的属性。 __proto__是一个对象拥有的内置属性(请注意:prototype是函数的内置属性,__proto__是对象的内置属性),是JS内部使用寻找原型链的属性。
单点登录(SSO——Single Sign On)对于我们来说已经不陌生了。对于大型系统来说使用单点登录可以减少用户很多的麻烦。就拿百度来说吧,百度下面有很多的子系统——百度经验、百度知道、百度文库等等,如果我们使用这些系统的时候,每一个系统都需要我们输入用户名和密码登录一次的话,我相信用户体验肯定会直线下降。
一、prototype和__proto__的概念 prototype是函数的一个属性(每个函数都有一个prototype属性),这个属性是一个指针,指向一个对象。它是显示修改对象的原型的属性。 __proto__是一个对象拥有的内置属性(请注意:prototype是函数的内置属性,__proto__是对象的内置属性),是JS内部使用寻找原型链的属性。
路由 通常HTTP URL的格式是这样的: http://host[:port][path] http表示协议。 host表示主机。 port为端口,可选字段,不提供时默认为80。 path指定请求资源的URI(Uniform Resource Identifier,统一资源定位符),如果URL中没有给出path,一般会默认成“/”(通常由浏览器或其它HTTP客户端完成补充上)。
去年6月份, ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范。作为ES6中最重要的特性之一,我们有必要掌握并理解透彻。本文将由浅到深,讲解Promise的基本概念与使用方法。
每日进步(25) 目录(?)[-] 一require 的基本用法 二Module 构造函数 三模块实例的 require 方法 四模块的绝对路径 五加载模块 如今的项目很多都是用require(‘http’)这种形式。
开篇首先设想一个日常开发常常会遇到的需求:在多个接口异步请求数据,然后利用这些数据来进行一系列的操作。一般会这样去写: $.ajax({ url: '......', success: function (data) { $.
npm install --save 与 npm install --save-dev 的区别 以npm安装msbuild为例: npm install msbuild: 会把msbuild包安装到node_modules目录中 不会修改package.