
数据结构
渣渣高不会写Java
这个作者很懒,什么都没留下…
展开
-
【Java数据结构】手写泛型数组
如何构建一个我们自己使用的泛型数组1.可以扩容2.接收“任何”类型(基本数据类型使用包装类型 )3.增删改查存储泛型数据private E[] data;private int size;构造函数 public Array() { this(10); } public Array(int capacity) { data = (E[]) new Object[capacity]; this.size = 0;原创 2022-04-17 23:28:43 · 297 阅读 · 0 评论 -
【Java数据结构】带有虚拟头节点的链表
虚拟头节点是什么?虚拟头节点就是,在原本第一个节点之前,增加一个节点。即在链表为空时,仅有一个节点。这样操作的好处时,不需要在添加和删除的时候判断是否待删除或者待添加的索引为0使用虚拟头节点有什么好处我们先来对比以下,使用和未使用对于添加元素方法未使用添加元素在理解上图后,要明白一个点,我们想在index插入节点,那么prev必须指向index的前一个节点!!,所以说,我们对于add方法内,要判断index是否为0但是加上了虚拟头节点呢???,加上虚拟头节点后,我们从虚拟头节点的位置开始移动,原创 2022-04-16 22:27:45 · 1130 阅读 · 1 评论 -
【数据结构】循环队列
/** * 队列的改良,使得删除元素的时间复杂度为o1 * @param <E> */public class LoopQueue<E> implements Queue<E>{ private E[] data; private int front,tail; private int size; public LoopQueue(int capacity) { data = (E[]) new Object[原创 2022-03-13 22:05:36 · 890 阅读 · 0 评论 -
【数据结构】平衡二叉树
/** * 平衡二叉树 * 对于 BST 节点元素,一定要实现 Comparable 接口 * @param <E> */public class BST<E extends Comparable<E>> { /** * 二叉树的节点 */ private class Node{ public E e; public Node left ,right; public Node原创 2022-03-13 22:04:30 · 1105 阅读 · 0 评论