BST Binary Search Tree也被成为 ordered binary tree(有序二叉树)或 sorted binary tree(排序二叉树), interface package _11_Tree._01_trie; import java.util.List; impo...
Tree ITree Interface package _11_Tree._01_trie; import java.util.List; publ...
ConsistentHashIng 一致性哈希起源是关于集群和负载均衡 解决服务器集群通信、缓存集群的问题 先构造一个长度为23^2的整数环(这个环被称为一致性Hash环),根据节点名称的Hash值(其分布为[0, 232-1])将服务器节点放置在这个Hash环上,然后根据数据的Key值计...
BloomFilter 前言 Data structures are nothing different. They are like the book...
MyHashSet 主要用作数据去重 IHashSet interface 定义接口 package _10_Hash; import java.util.Iterator; public interface IHashSet<E> { void add(E key);...
哈希值的一些算法 package _10_Hash; public class HashFunctions { //hash决定index的分散...
MyHashMap Map Interface keySet 主要作用于HashSet package _10_Hash; import java.util.Iterator; public interface IMap<K, V> { /** * 清除所有键...
MyHashMap Interface package _10_Hash; public interface IMap<K, V> { ...
HashMapTest package _10_Hash; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Random; /** * HashMap测...
CatDogAsylum cc150 模拟 有家动物收容所只收留猫和狗,但有特殊的收养规则,收养人有两种收养方式, 第一种为直接收养所有动物中最早进入收容...
TwoStackSort cc150 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。 给定一个int[] numbers(C++中为vector<int>),其中第一个元素为栈顶,请返回排...
QueueByStack cc150 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 第二个栈等于是维护 如果...
SetOfStacks cc150 请实现一种数据结构SetOfStacks,由多个栈组成,其中每个栈的大小为size,当前一个栈填满时,新建一个栈。 该数据结构应支持与普通栈相同的push和pop操作。 给定一个操作序列int[][2] ope,每个操作的第一个数代表操作类型, 若为1,则为...
思路 维护最小值栈 建立兄弟栈 在push新元素的时候 对新元素和旧元素比较大小 小 就入栈新元素 反之入栈 peek(旧元素) 出栈时 兄弟栈也依次出栈...
cc150P 131 只用一个数组实现三个栈 先利用数组实现最普通的栈 并对其操作 类比法 把一个数组等分为三个栈 所以我设定了 三类变量 记录 栈头 尾 和元素个数 int s1l;//栈头 left int s1r;//尾巴 right int s1c = 0;//元素计数 count 在...
Queue 队列是一种先进先出 后进后出的数据结构~~ 就像是食堂排队一样 不同于栈 先进后出 后进先出~ 用例算法: IQueue 接口 packag...
Stack 栈是... 定义IStack接口 package _09_Linear.Stack; public interface IStack<T> { /** * 元素入栈 * @param e */ void push(T e)...
如何高效的检测单链表是否是回文链表呢 方法一 遍历一遍 计数 然后再找到中间node 开始对比 方法二 进步指针f、s后者是前者两倍 到null截...
给定一个有环链表,实现一个算法返回环路的开头结点 有环链表的定义: 在链表中某个结点的next元素指向在它前面出现过的节点,则表明该链表存在环路 方法1:check() 使用hashSet查重 查到 就说明是回路的头了 方法2:beginOfCircle() 进步指针 s、f s步进...
链表加法 有两个用链表表示的整数,每个结点包含一个数位。 这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。...