
数据结构
文章平均质量分 92
1加一
这个作者很懒,什么都没留下…
展开
-
图解并查集
前言并查集是一种非常有用且高效的数据结构,千万不要被这个极具专业性的名字吓到了,它的算法思想和代码实现都非常简单,不需要花太大力气就可以轻松掌握。下面就通过画图等方式为大家介绍一下这种神奇的数据结构。一、 图解并查集并查集有两个英文名:1、Disjoint Set,2、Union Find。它的作用就是把一个数据集分成若干个子集,每个子集内部数据可以互联互通,而子集之间则不具有连通性。并查集的底层结构类似于堆(不熟悉堆的同学赶紧去复习一下堆排序,面试频率很高哦),也是用数组描述一种树结构,但不同的是,原创 2021-01-13 23:54:49 · 762 阅读 · 0 评论 -
树的高度、深度、层
原创 2020-12-18 22:20:35 · 447 阅读 · 1 评论 -
手写动态链表(五)(java版)
public class LinkedList<E> { //链表节点类,private 外部不可访问 private class Node{ E e; Node next; public Node(E e,Node next){ this.e = e; this.ne...原创 2019-06-19 15:16:11 · 143 阅读 · 0 评论 -
手写动态数组(一)(java版)
public class Array<E> { private E[] data; private int size; // 构造函数,传入数组的容量capacity构造Array public Array(int capacity){ data = (E[])new Object[capacity]; size =...原创 2019-06-17 21:14:00 · 167 阅读 · 0 评论 -
手写动态栈:数组实现(二)(java版)
栈接口public interface Stack<E> { int getSize(); boolean isEmpty(); void push(E e); E pop(); E peek();}栈实现,Array<E>public class ArrayStack<E> implements S...原创 2019-06-17 21:20:27 · 114 阅读 · 0 评论 -
手写动态队列:数组实现(三)(java版)
队列接口:public interface Queue<E> { int getSize(); boolean isEmpty(); void enqueue(E e); E dequeue(); E getFront();}数组实现队列:Array<E>public class ArrayQueue<E&...原创 2019-06-17 21:25:33 · 199 阅读 · 0 评论 -
手写动态循环队列:数组实现(四)(java版)
队列接口:public interface Queue<E> { //获取队列元素个数 int getSize(); boolean isEmpty(); void enqueue(E e); E dequeue(); E getFront();}动态循环队列实现:public class LoopQueue<...原创 2019-06-18 15:48:22 · 251 阅读 · 0 评论 -
二分排序树:BST(java版)
二分排序树,又称二叉排序树(Binary Search Tree),用于对数据的存储排序。下面直接上代码,看注释。package com.lpp.tree.bst;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;//泛型E extends Comparable<E>的...原创 2019-09-28 22:30:39 · 249 阅读 · 0 评论