算法
文章平均质量分 94
讲述常用算法
lxlmycsdnfree
脑科学爱好者,物理爱好者,计算机从业者
展开
-
排序和去重--说说两个简单常用的算法
排序 -- 最常用的就是冒泡排序。冒泡排序:它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。for(i = 0; i { for(int j = i +1; j {原创 2016-12-21 16:19:00 · 3703 阅读 · 0 评论 -
程序员必须要掌握的十大经典算法
算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策转载 2017-12-23 17:30:36 · 6703 阅读 · 0 评论 -
文件压缩算法详细分析(ZIP)及解压实例解释
原文地址:https://www.cnblogs.com/esingchan/p/3958962.html最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据压缩,两者本质上没啥区别,在数学家看来,都是映射。一方面在进行通信的时候,有必要将待传转载 2017-12-27 14:59:46 · 13898 阅读 · 2 评论 -
经典算法系列之(一) - BitMap [数据的压缩存储]
一、问题引入 BitMap从字面的意思,很多人认为是位图,其实准确的来说,翻译成基于位的映射,怎么理解呢?举一个例子,有一个无序有界int数组{1,2,5,7},初步估计占用内存44=16字节,这倒是没什么奇怪的,但是假如有10亿个这样的数呢,10亿4/(102410241024)=3.72G左右。如果这样的一个大的数据做查找和排序,那估计内存也崩溃了,有人说,这些数据可以不用一次性转载 2017-12-28 21:10:39 · 6368 阅读 · 0 评论 -
Github 的清点对象算法
原文地址:http://www.ruanyifeng.com/blog/2015/09/git-bitmap.html使用 Github 的时候,你有没有见过下面的提示?$ git clone https://github.com/torvalds/linuxCloning into 'linux'...remote: Counting objects: 4350078, d转载 2017-12-28 21:19:43 · 284 阅读 · 0 评论 -
ANSI C中的CRC16参考实现
转载地址:https://redis.io/topics/cluster-spec/* * Copyright 2001-2010 Georges Menie (www.menie.org) * Copyright 2010 Salvatore Sanfilippo (adapted to Redis coding style) * All rights reserved. *转载 2018-01-04 17:40:28 · 2098 阅读 · 0 评论 -
Raft算法(zookeeper核心算法)
转载地址:https://www.cnblogs.com/mindwind/p/5231986.htmlLeslie Lamport 在三十多年前发表的论文《拜占庭将军问题》(参考[1])。拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息。在战争的时候,拜占庭军队内所有将军转载 2018-01-05 20:03:21 · 9499 阅读 · 1 评论 -
raft算法与paxos算法相比有什么优势,使用场景有什么差异?
Raft协议比paxos的优点是 容易理解,容易实现。它强化了leader的地位,把整个协议可以清楚的分割成两个部分,并利用日志的连续性做了一些简化:(1)Leader在时。由Leader向Follower同步日志(2)Leader挂掉了,选一个新Leader,Leader选举算法。但是本质上来说,它容易的地方在于流程清晰,描述更清晰,关键之处都给出了伪代码级别的描述,可以直接用于实现,而pa原创 2018-01-05 20:29:33 · 2528 阅读 · 0 评论 -
群人各说什么是哈希算法?
这个HASH算法不是大学里数据结构课里那个HASH表的算法。这里的HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆和无冲突。所谓不可逆,就是当你知道x的HASH值,无法求出x;所谓无冲突,就是当你知道x,无法求出一个y, 使x与y的HASH值相同。这两条性质在数学上都是不成立的。因为一个函数必然可逆,且由于HASH函数的值域有限,理论上会有无穷多个不同的原始值,...原创 2018-03-15 09:38:40 · 967 阅读 · 0 评论