
算法和数据结构
tianjinsong
0101101001001
展开
-
一致性哈希算法及java实现
转:http://blog.youkuaiyun.com/wuhuan_wp/article/details/7010071#一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久化存储则要转载 2016-07-25 17:14:50 · 4698 阅读 · 0 评论 -
详解二叉查找树算法的实现
http://blog.youkuaiyun.com/npy_lp/article/details/7426431 参考文献: 《数据结构(C语言版)》 严蔚敏 吴伟民 编著 开发平台:Ubuntu11.04 编译器:gcc version4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) 树(Tree)是n(n≥0)个结点的转载 2016-09-06 17:17:50 · 4814 阅读 · 0 评论 -
一步一图一代码,一定要让你真正彻底明白红黑树
http://blog.youkuaiyun.com/chenhuajie123/article/details/11951777一步一图一代码,一定要让你真正彻底明白红黑树 作者:July 二零一一年一月九日-----------------------------本文参考:I、 The Art of Computer Programming Volum转载 2016-09-06 17:20:23 · 5680 阅读 · 0 评论 -
排序算法再总结再分析java版---未完待续
概述排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选择排序:简单选择排序、堆排序。 (3)、交换排序:冒泡排序、快速排序。 (4)原创 2016-10-20 12:04:37 · 5418 阅读 · 0 评论 -
Jdk 1.7.0_17中提供的默认的排序算法
http://blog.youkuaiyun.com/lingzhm/article/details/45022385参考自:论文,Dual-Pivot Quicksort algorithm ,by Vladimir Yaroslavskiy。http://www.sytarena.com/javajswz/20140217/1329.html转载自:http://blog.转载 2016-10-27 18:38:00 · 6050 阅读 · 0 评论 -
图解分布式一致性协议Paxos
http://codemacro.com/2014/10/15/explain-poxos/Paxos协议/算法是分布式系统中比较重要的协议,它有多重要呢?:Google Chubby的作者Mike Burrows说过这个世界上只有一种一致性算法,那就是Paxos,其它的算法都是残次品。:理解了这两个分布式协议之后(Paxos/2PC),学习转载 2016-11-09 18:09:50 · 4876 阅读 · 0 评论 -
代码面试最常用的10种类型算法
在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。1.String/Array/Matrix在Java中,String是一个包含char数组和其它字段、方法的类。如果没有IDE自动完成转载 2016-08-08 13:00:14 · 4952 阅读 · 0 评论 -
负载均衡之权重轮询调度算法
http://blog.youkuaiyun.com/lululove19870526/article/details/53101490http://colobu.com/2016/12/04/smooth-weighted-round-robin-algorithm/ 负转载 2017-09-26 16:43:19 · 5442 阅读 · 0 评论 -
BloomFilter(大数据去重)+Redis(持久化)策略
原文:https://blog.youkuaiyun.com/qq_18495465/article/details/78500472 BloomFilter(大数据去重)+Redis(持久化)策略背景之前在重构一套文章爬虫系统时,其中有块逻辑是根据文章标题去重,原先去重的方式是,插入文章之前检查待插入文章的标题是否在ElasticSearch中存在,这无疑加重了ElasticSearch的负担也势必...转载 2018-11-26 16:09:12 · 9011 阅读 · 0 评论 -
【应用算法】信息流-推荐系统的去重策略
https://blog.youkuaiyun.com/hemin1003/article/details/82819489?utm_source=blogxgwz3聊两个问题,它们看似和推荐系统没有必然关系,但实际上,在你构建自己的推荐系统的时候,不可避免地会遇到这两个问题。去重是刚需在推荐系统中,有一个刚需就是去重,那么说在哪些地方有去重的需求呢?主要是在两个地方:一个是内容源去重,另一...转载 2018-11-26 16:10:03 · 9404 阅读 · 0 评论 -
百度咋做长文本去重
https://blog.youkuaiyun.com/wufaliang003/article/details/78409887缘起:(1)原创不易,互联网抄袭成风,很多原创内容在网上被抄来抄去,改来改去(2)百度的网页库非常大,爬虫如何判断一个新网页是否与网页库中已有的网页重复呢?这是本文要讨论的问题(尽量用大家都能立刻明白的语言和示例表述)。一、传统签名算法与文本完整性判断...转载 2019-07-12 18:57:34 · 13310 阅读 · 0 评论 -
中文分词工具整理
https://blog.youkuaiyun.com/fendouaini/article/details/82027310一.中文分词分词服务接口列表二.准确率评测:THULAC:与代表性分词软件的性能对比我们选择LTP-3.2.0、ICTCLAS(2015版)、jieba(C++版)等国内具代表性的分词软件与THULAC做性能比较。我们选择Windows作为测试环...转载 2019-07-15 12:04:35 · 15824 阅读 · 0 评论 -
使用SimHash进行海量文本去重
https://www.cnblogs.com/maybe2030/p/5203186.html 在之前的两篇博文分别介绍了常用的hash方法([Data Structure & Algorithm] Hash那点事儿)以及局部敏感hash算法([Algorithm] 局部敏感哈希算法(Locality Sensitive Hashing)),本文介绍的SimHash是一种局部敏感h...转载 2019-07-12 16:14:42 · 13554 阅读 · 0 评论 -
网站文章如何能自动判定是抄袭?一种算法和实践架构剖析
https://www.infoq.cn/article/how-web-article-utomatically-determine-plagiarism1. 文本指纹介绍互联网网页存在大量的重复内容网页,无论对于搜索引擎的网页去重和过滤、新闻小说等内容网站的内容反盗版和追踪、还是社交媒体等文本去重和聚类,都需要对网页或者文本进行去重和过滤。最简单的文本相似性计算方法可以利用空间向量...转载 2019-07-12 16:16:35 · 14377 阅读 · 0 评论 -
从B 树、B+ 树、B* 树谈到R 树
出处:http://blog.youkuaiyun.com/v_JULY_v 。 第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三转载 2016-08-12 11:09:54 · 4813 阅读 · 0 评论 -
微软面试100题2010年版全部答案集锦(含下载地址)
http://blog.youkuaiyun.com/v_july_v/article/details/6870251作者:July、阿财。时间:二零一一年十月十三日。引言 无私分享造就开源的辉煌。 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年。在一周年之际,特此分享出微软面试全部100题答案的完整版,以作为对本博客所有读者的回馈。转载 2016-08-16 12:30:45 · 6182 阅读 · 0 评论 -
简明解释算法中的大O符号
http://blog.jobbole.com/55184/伯乐在线导读:2009年1月28日Arec Barrwin在StackOverflow上提问,“有没有关于大O符号(Big O notation)的简单解释?尽量别用那么正式的定义,用尽可能简单的数学来解释”。在经过众多热心网友的修改更新后,最佳回复的得分已高达 3234 分,详细内容,请见下文。最佳回复所给出的大O符转载 2016-09-09 10:46:44 · 5092 阅读 · 0 评论 -
归并排序时间复杂度----主定理
http://blog.youkuaiyun.com/touch_2011/article/details/67858811、序言这是《漫谈经典排序算法系列》第四篇,解析了归并排序。 各种排序算法的解析请参考如下:《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 &转载 2016-09-09 12:09:30 · 56292 阅读 · 1 评论 -
通过简单排序理解大O表示法
https://segmentfault.com/a/1190000004577742大O表示法初体验身在斯洛文尼亚的阿拉里克得到斯提里科被杀的消息后,仰天大笑:“终于没有人能阻止我去罗马了。”当他手下的将军问:“不知大王打算走哪条路去罗马?”西哥特王哈哈大笑,说出了那句千古名言:All roads lead to Rome条条大路通罗马,这句著名的英语转载 2016-09-10 10:59:52 · 7172 阅读 · 0 评论 -
牛顿迭代法(Newton's Method)
http://blog.youkuaiyun.com/wangxiaojun911/article/details/18203333牛顿法的作用是使用迭代的方法来求解函数方程的根。简单地说,牛顿法就是不断求取切线的过程。对于形如f(x)=0的方程,首先任意估算一个解x0,再把该估计值代入原方程中。由于一般不会正好选择到正确的解,所以有f(x)=a。这时计算函数在x0处的斜率,和这条斜率与x轴的交点原创 2016-08-31 15:17:40 · 6736 阅读 · 0 评论 -
递归算法(求n的加法组合,将一个整数拆分成多个整数相加的形式, O(N)时间,O(N)空间)
http://blog.youkuaiyun.com/calmreason/article/details/8024342网上的多种解法比较复杂,本文用递归方法,22行代码搞定。时间和空间复杂度已经降到最低!第三版:加入创作思路。这个函数的主要功能就是输出所有组合。既然是输出所有的组合,那就意味着内部有一个遍历所有组合的过程。既然是遍历,而且是O(N)时间,那就说明这个遍历是按原创 2016-08-30 16:56:20 · 25252 阅读 · 3 评论 -
解决哈希(HASH)冲突的主要方法
虽然我们不希望发生冲突,但实际上发生冲突的可能性仍是存在的。当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时。冲突就难免会发 生。另外,当关键字的实际取值大于哈希表的长度时,而且表中已装满了记录,如果插入一个新记录,不仅发生冲突,而且还会发生溢出。因此,处理冲突和溢出是 哈希技术中的两个重要问题。1、开放定址法 用开放定址法解决冲突的做法是:当冲突发生时,转载 2016-08-11 16:46:28 · 6051 阅读 · 0 评论 -
浅谈算法和数据结构: 一 栈和队列
http://www.cnblogs.com/yangecnu/p/Introduction-Stack-and-Queue.html最近晚上在家里看Algorithems,4th Edition,我买的英文版,觉得这本书写的比较浅显易懂,而且“图码并茂”,趁着这次机会打算好好学习做做笔记,这样也会印象深刻,这也是写这一系列文章的原因。另外普林斯顿大学在Coursera 上也有这本转载 2016-08-23 22:48:26 · 4458 阅读 · 0 评论 -
相似文档查找算法之 simHash 简介及其 java 实现
https://cloud.tencent.com/developer/article/1043655传统的 hash 算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。产生的两个签名,如果相等,说明原始内容在一定概 率 下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差别极大。从这个意义 ...转载 2019-07-12 16:42:24 · 14066 阅读 · 0 评论