
算法与数据结构
文章平均质量分 91
zhangge3663
这个作者很懒,什么都没留下…
展开
-
[Machine learning] 国外程序员整理的机器学习资源大全
阅读目录 本文汇编了一些机器学习领域的框架、库以及软件(按编程语言排序)。1. C++1.1 计算机视觉CCV—基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV—它提供C++, C, Python, Java以及MATLAB接口,并支持Windows,Linux, Android and Mac OS操作系统。1.2 机器学习MLPack DLib ecogg shark2. ClosureClosure Toolbox—Clojure语言库与工.转载 2021-02-02 15:24:09 · 279 阅读 · 0 评论 -
深入浅出KNN算法(二) sklearn KNN实践
上次介绍了KNN的基本原理,以及KNN的几个窍门,这次就来用sklearn实践一下KNN算法。一.Skelarn KNN参数概述要使用sklearnKNN算法进行分类,我们需要先了解sklearnKNN算法的一些基本参数,那么这节就先介绍这些内容吧。def KNeighborsClassifier(n_neighbors = 5, weights = 'uniform', algorithm = '转载 2020-11-22 15:50:42 · 455 阅读 · 0 评论 -
深入浅出KNN算法(一) KNN算法原理
一、KNN算法概述KNN可以说是最简单的分类算法之一,同时,它也是最常用的分类算法之一,注意KNN算法是有监督学习中的分类算法,它看起来和另一个机器学习算法Kmeans有点像(Kmeans是无监督学习算法),但却是有本质区别的。那么什么是KNN算法呢,接下来我们就来介绍介绍吧。二、KNN算法介绍KNN的全称是K Nearest Neighbors,意思是K个最近的邻居,从这个名字我们就能看出一些KNN算法的蛛丝马迹了。K个最近邻居,毫无疑问,K的取值肯定是至关重要的。那么最近的邻居又是怎么回事呢转载 2020-11-20 17:12:37 · 3887 阅读 · 0 评论 -
签名算法
我们使用非对称加密算法的时候,对于一个公钥-私钥对,通常是用公钥加密,私钥解密。如果使用私钥加密,公钥解密是否可行呢?实际上是完全可行的。不过我们再仔细想一想,私钥是保密的,而公钥是公开的,用私钥加密,那相当于所有人都可以用公钥解密。这个加密有什么意义?这个加密的意义在于,如果小明用自己的私钥加密了一条消息,比如小明喜欢小红,然后他公开了加密消息,由于任何人都可以用小明的公钥解密,从而使得任何人都可以确认小明喜欢小红这条消息肯定是小明发出的,其他人不能伪造这个消息,小明也不能抵赖这条消息不是自己转载 2020-08-17 15:27:52 · 1334 阅读 · 1 评论 -
哈希算法
哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个对固定长度额输出摘要。哈希算法最重要的特点就是:相同的输入一定得到相同的输出; 不同的输入大概率得到不同的输出。哈希算法的目的就是为了验证原始数据是否被篡改。Java字符串的hashCode()就是一个哈希算法,它的输入是任意字符串,输出是固定的4字节int整数:"hello".hashCode(); //0x5e918d2"hello, java".hashCode(); //0x7转载 2020-08-17 15:01:34 · 1106 阅读 · 0 评论 -
字符串匹配的Boyer-Moore算法
转载地址:http://www.ruanyifeng.com/blog/2013/05/boyer-moore_string_search_algorithm.html上一篇文章,我介绍了KMP算法。但是,它并不是效率最高的算法,实际采用并不多。各种文本编辑器的“查找”功能(Ctrl+F),大多采用Boyer-Moore算法。Boyer-Moore算法不仅效率高,而且构思巧妙,容易...转载 2019-03-18 15:42:22 · 116 阅读 · 0 评论 -
红黑树介绍
网上有很多红黑树的段子,很多人都说,红黑树只会存在于段子里,不会在面试中或者实际项目中让你实现。来看看网友都是怎么说的:通常,如果有面试官问我红黑数这种问题,我一般扭头就走。不是因为,这个职位用不到还问这个。而是因为......我是真的不会啊:)很多人看着这个网友说的,感觉很扎心。别急,还有更扎心的:这有什么难的!Map map = new TreeMap();...转载 2018-10-26 17:30:30 · 214 阅读 · 0 评论 -
【算法与数据结构】堆排序是什么鬼?
排序算法相必大家都见过很多种,例如快速排序、归并排序、冒泡排序等等。今天,我们就来简单讲讲堆排序。在上一篇中,我们讲解了二叉堆,今天的堆排序算法主要就是依赖于二叉堆来完成的,不清楚二叉堆是什么鬼的,可以看下:【算法与数据结构】二叉堆是什么鬼? 用辅助数组来实现堆排序算法...转载 2018-10-26 17:23:47 · 194 阅读 · 0 评论 -
二叉堆是什么?
二叉堆是一种应用很广的数据结构,今天,我们就来简单讲讲二叉堆。什么是二叉堆? 二叉堆是一种特殊的堆。具有如下的特性: 具有完全二叉树的特性。 堆中的任何一个父节点的值都大于等于它左右孩子节点的值,或者都小于等于它左右孩子节点的值。 根据第二条特性,我们又可以把二叉堆分成两类:1、最大堆:父节点的值大于等于左右孩子节点的值。 2.最小堆...转载 2018-10-26 17:12:09 · 306 阅读 · 0 评论 -
【算法与数据结构专场】BitMap算法基本操作代码实现
上篇我们讲了BitMap是如何对数据进行存储的,没看过的可以看一下【算法与数据结构专场】BitMap算法介绍这篇我们来讲一下BitMap这个数据结构的代码实现。 回顾下数据的存储原理一个二进制位对应一个非负数n,如果n存在,则对应的二进制位的值为1,否则为0。这个时候,我们的第一个问题:我们在使用byte,int,sho...转载 2018-10-26 16:59:28 · 189 阅读 · 0 评论 -
《算法与数据结构专场》BitMap算法介绍
我们先来看个简单的问题。假如给你20亿个非负数的int型整数,然后再给你一个非负数的int型整数t,让你判断t是否存在于这20亿数种,你会怎么做呢?有人可能会用一个int数组,然后把20亿个数给存进去,然后再循环遍历以下就可以了。想一下,这样的话,时间复杂度是O(n),所需要的内存空间4byte * 20亿,一共需要80亿个字节。大概需要8GB的内存空间,显然有些计算机的内存一...转载 2018-10-26 16:46:47 · 167 阅读 · 0 评论