数据结构与算法
蟑螂恶霸qaq
这个作者很懒,什么都没留下…
展开
-
跳表SkipList原理及Java实现
https://www.cnblogs.com/acfox/p/3688607.html 有空再自己写8原创 2020-04-17 17:09:20 · 192 阅读 · 0 评论 -
PriorityQueue 优先级队列
每次取出时,都是取得优先级最高的 底层实现:二叉堆(二叉堆用数组实现) (没有传入自定义比较器时,使用自然排序) 插入节点: 移除节点时(poll) ...原创 2020-04-02 10:35:27 · 148 阅读 · 1 评论 -
双向链表+HashMap 实现LRU算法(leetcode 416)
import java.util.HashMap; /** * @author MasterYee * @Description: * @date: 2020/3/29 */ public class LRUCache { class Node{ int key; int value; Node pre; Node...原创 2020-03-29 22:38:28 · 319 阅读 · 1 评论 -
各种树的概念
一个可以可视化各种数据结构的网站:Data Structure Visualizations 二叉树:每个节点最多2个孩子节点,且左右子节点有序(不能互换顺序) 满二叉树:每个叶子节点之外的节点都是2个孩子节点 完全二叉树:定义是对一颗具有n个结点的二叉树按层编号,如果编号为i(1<=i<=n)的结点与同样深度的满二叉树中编号为i的结点在二叉树中位置完全相同,则这棵二叉树称为完...原创 2019-11-13 15:56:48 · 222 阅读 · 0 评论 -
Java实现单链表翻转
单链表翻转指将一个单链表从中间翻转过来,如 1 2 3 4 5反转后就是 5 4 3 2 1;1 2 3 4 反转后就是 4 3 2 1。 分析:听起来好像有点麻烦,实际上只需要把 1->2->3->4->5改成 5->4->3->2->1 即 1<-2<-3<-4<-5即把头节点的next指向空,从第二个节点开始后一个节...原创 2019-11-09 18:02:17 · 152 阅读 · 0 评论 -
Java实现链表
首先定义一个节点 public class Node { private int data; // 节点值 private Node next; // 指向下一个节点的指针 public Node(int data){ this.data = data; } public int getData() { return ...原创 2019-11-08 22:59:21 · 156 阅读 · 0 评论