数据结构
weixin_42572723
这个作者很懒,什么都没留下…
展开
-
avl树学习
AVLTree 在二叉树中加入平衡机制 public class AvlTree<K extends Comparable<K>, V> { private class Node{ public K key; public V value; public Node left, right; public int height; public Node(K key, V value){原创 2021-08-11 14:48:07 · 82 阅读 · 0 评论 -
并查集学习
并查集接口 public interface UnionFind { int getSize(); /** * 查看元素p和元素q是否所属一个集合 * @param p * @param q * @return */ boolean isConnected(int p,int q); /** * 合并元素p和元素q所属的集合 * @param p * @param q */原创 2021-08-10 11:57:55 · 49 阅读 · 0 评论 -
trie树学习
import java.util.Objects; import java.util.TreeMap; public class Trie { private class Node{ public boolean isWord; public TreeMap<Character,Node> next; public Node(boolean isWord) { this.isWord = isWord; .原创 2021-08-09 15:00:00 · 48 阅读 · 0 评论 -
线段树学习
线段树左右节点合成根节点接口方法 public interface Merger<E> { E merger(E a,E b); } 线段树方法类 public class SegmentTree<E> { private E[] tree; private E[] data; private Merger<E> merger; public SegmentTree(E[] arr, Merger<E> me原创 2021-08-09 10:03:44 · 74 阅读 · 0 评论 -
数组最大堆优先队列
数组集合 public class Array<E> { private E[] data; private int size; // 构造函数,传入数组的容量capacity构造Array public Array(int capacity){ data = (E[])new Object[capacity]; size = 0; } // 无参数的构造函数,默认数组的容量capacity=10 pu原创 2021-08-04 14:20:19 · 67 阅读 · 0 评论 -
集合与映射
集合 接口 public interface Set<E> { void add(E e); void remove(E e); boolean contaions(E e); int getSize(); boolean isEmpty(); } 链表实现集合 /** * 虚拟头节点 * @param <E> */ public class LinkedList<E> { private c原创 2021-08-04 09:26:39 · 72 阅读 · 0 评论 -
二分搜索树
import java.util.LinkedList; import java.util.Queue; import java.util.Stack; public class BST<E extends Comparable<E>> { private class Node{ public E e; public Node left,right; public Node(E e) { this.e原创 2021-08-03 10:39:51 · 71 阅读 · 0 评论 -
链表实现队列
队列接口 public interface Queue<E> { void enqueue(E e); E dequeue(); E getFront(); int getSize(); boolean isEmpty(); } 链表实现队列 public class LinkedListQueue<E> implements Queue<E>{ private class Node{ pub原创 2021-07-29 17:49:33 · 79 阅读 · 0 评论 -
数组栈学习2021-07-23
定义栈接口 public interface Stack<E> { int getSize(); boolean isEmpty(); void push(E e); E pop(); E peek(); } 数组实现栈 public class ArrayStack<E> implements Stack<E> { private class Array<E> { private原创 2021-07-23 16:57:45 · 43 阅读 · 0 评论 -
学习队列2021-07-23
1、定义队列接口 public interface Queue<E> { void enqueue(E e); E dequeue(); E getFront(); int getSize(); boolean isEmpty(); } 数组队列实现 public class ArrayQueue<E> implements Queue<E> { private class Array<E> {原创 2021-07-23 15:51:49 · 46 阅读 · 0 评论