一致哈希算法
来源:http://blog.csdn.net/cywosp/article/details/23397179/ 问题来源tencent2012笔试题附加题问题描述: 例如手机朋友网有n个服务器,为了方便用户的访问会在服务器上缓存数据,因此用户每次访问的时候最好能保持同一台服务器
来源:http://blog.csdn.net/cywosp/article/details/23397179/ 问题来源tencent2012笔试题附加题问题描述: 例如手机朋友网有n个服务器,为了方便用户的访问会在服务器上缓存数据,因此用户每次访问的时候最好能保持同一台服务器
什么是Trie树Trie树,又叫字典树、前缀树(Prefix Tree)、单词查找树 或 键树,是一种多叉树结构。如下图:上图是一棵Trie树,表示了关键字集合{“a”, “to”, “tea”, “ted”, “ten”, “i”, “in”, “inn”} 。从上图可以归纳出
来源:https://wizardforcel.gitbooks.io/the-art-of-programming-by-july/content/06.03.html 背景如果某一天,面试官问你如何设计一个比较两篇文章相似度的算法?可能你会回答几个比较传统点的思路: 一种方
1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重
几种问题: 一个无序的数组,快速找出第k小/大的数 两个有序数组,找出第k小/大的数 多个有序数组,找出第k小/大的数 合并两个有序数组 合并多个有序数组 合并两个链表 合并多个链表 1. 一个无序的数组,快速找出第k小/大的数 解法1:排序(快排),然后再选择,时间O(
前言海量数据通常由于数据量太大,无法在较短时间内结局,或者无法一次性装入内存中,因此需要搭配一些方法和数据结构。 针对时间问题,可采用数据结构:布隆过滤器、哈希、位图、堆、数据库、倒排索引、Trie树等 针对空间问题,可以采用分而治之、哈希映射的方法。 此外,针对单机和集群:
寻找数组中出现次数超过一半的数字 方法1 对数组排序,然后顺次查找其中最多的; 方法2 对数组排序,最中间一个肯定为要找的数字,时间复杂度O(NlogN); 方法3 顺次消去数组中两个不同的数,最后剩下的肯定为要找的数字,时间复杂度O(N). 更进一步,考虑到这个问题本身的特殊
HashMap与HashTable的区别首先明白一点:hashmap/hashset等凡是带有hash字眼的均基于hashtable实现(无序)没带hash字眼的如set/map均是基于红黑树实现(有序) HashTable HashMap 线程同步 非线程同步
前言动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树
在了解红黑树以前先了解一一些基础知识。 二叉查找树由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。 二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binar