- 博客(15)
- 收藏
- 关注
原创 Java简单实现布隆过滤器
package com.company.BloomFilter;/* * 用来查找是否存在某个元素 在尽可能少的内存下 * HashSet和HashMap的速度狠快,但是对于空间的利用率不是很高效 */public class BloomFilter<T> { // 二进制位的长度 private int bitSize; // 哈希函数的个数 private int hashSize; private long[] bits; /**
2021-07-31 17:33:13 190
原创 Java实现数据结构跳表
package com.company.SkipList;import java.util.Comparator;@SuppressWarnings("all")public class SkipList<K, V> { private int size; private static final int MAX_lEVEL = 32; // 节点的next节点的最高层数 private static final double P = 0.25; private
2021-07-31 17:22:43 181
原创 基于路径压缩和路径分裂的并查集(Quick Union实现)
//通用的数据结构实现import java.util.HashMap;import java.util.Map;import java.util.Objects;public class GenericUnionFind<V> { public Map<V, Node<V>> nodes = new HashMap<>(); public void makeSet(V v) { if (nodes.containsKey(v))
2021-07-12 17:19:18 150
原创 Java图的基本实现
接口:package com.company.Graph;import java.util.HashSet;import java.util.List;import java.util.Set;public interface Graph<V,E> { int edgesSize(); int verticesSize(); void addVertext(V v); void addEdge(V from,V to); void addEdge(V f
2021-07-12 13:21:51 507
原创 Java实现快速排序及其优化
package com.company.sort;/*** * 功能描述 * 从序列中选出一个轴点元素,将序列分成两个子序列。大于轴点的放在右边,小于的放在左边 * 对自序列重复操作 * 快速排序的本质:将所有元素转换成轴点元素 * 轴点构造 先存储轴点元素 左右来回扫 */public class QuickSort { public static void quickSort(int[] arr){ int length = arr.length;
2021-06-01 14:30:58 141
原创 Java实现冒泡排序及其优化
//冒泡排序public class Bubble { public static void main(String[] args) { Random random = new Random(); int[] arr = new int[100]; for (int i = 0; i < arr.length; i++) { arr[i] = random.nextInt(10000); }
2021-05-31 19:54:29 80
原创 Java实现合并排序
package com.company.sort;//不断地将当前序列分成2个子序列 直到不能再分割(序列中只有一个元素)//不断地将2个子序列合并成一个有序序列public class MergeSort { public static void sort(int[] arr){ int lenght = arr.length; int[] leftArr = new int[lenght>>1]; sort(0,lenght,
2021-05-31 19:49:26 232
原创 Java实现插入排序 以及优化
package com.company.sort;public class Insertion { public static void main(String[] args) { int[] arr = {13,23,4,512,12}; insertsort2(arr); for (int i : arr) { System.out.print(i+" "); } } public.
2021-05-30 19:25:22 87
原创 Java实现ArrayList
package com.company.struct;public class MyArrayList<E> { private int size = 0; private E[] elements; private static final int DEFAULT_CAPATICY = 10; //如果存的是对象数组,则数组里存的都是内存地址,指向真正的对象 public MyArrayList(int capaticy) { .
2021-05-18 20:45:46 55
原创 Java实现双向循环队列
Java实现双向循环队列package com.company.struct;import java.util.Arrays;public class DoubleCircleQueue<E> { private int size = 0; //容量 private int front = 0; // 队头索引 取元素的索引 private E[] elements; public DoubleCircleQueue() { t
2021-05-18 20:42:36 97
原创 Java实现二叉搜索树
Java实现二叉搜索树目录Java实现二叉搜索树package com.company.struct;//二插搜索树 值不能为null//如果为自定义类型,则需要规定排序规则 二插搜索树没有索引的概念//内置的类型都默认实现了compareableimport java.util.HashMap;import java.util.LinkedList;import java.util.Queue;@SuppressWarnings("all")public class
2021-05-12 19:58:54 109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人