为什么要说 HashMap 与 LinkedHashMap?第一:这两种数据结构是 Java Coder 中经常使用的数据结构、第二:这两种结构是最合适的能说明链表与数组的结构关系。在开始之前首先必须清楚一个概念,什么是 hash 值?hash 值是指将一个二进制的值通过 hash 算法将其转换成一 ...
分类:
其他好文 时间:
2021-03-09 13:31:00
阅读次数:
0
二叉树 1.1 为什么需要树这种数据结构 1) 数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 [示意图] 画出操作示意图: 2) 链式存储方式的分析 优点:在一定程度上对 ...
分类:
编程语言 时间:
2021-03-09 13:27:10
阅读次数:
0
问题: 给定一棵二叉树。 求给定节点target开始,距离K的所有节点。 Example 1: Input: root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, K = 2 Output: [7,4,1] Explanation: The nodes ...
分类:
其他好文 时间:
2021-03-09 13:09:46
阅读次数:
0
图片来源于:极客时间《数据结构与算法之美》 https://time.geekbang.org/column/intro/126 1. 数组 数组是最简单的数据结构,它的结构特点是:需要连续的内存空间,能够通过数组下标快速的访问数组内的元素,但是初始时需要指定大小,并且不能动态扩容,当容量不够时,需 ...
分类:
编程语言 时间:
2021-03-08 14:07:35
阅读次数:
0
1.无符号数与有符号数比较 有时我们可能会遇到一些数据结构的大小的判定,比如判断两个堆(假设为heap1,heap2)中元素个数差值是否大于1 heap1.size() - heap2.size() > 1 heap1.size() > heap2.size() + 1 看似等价的两个比较的不等式, ...
分类:
其他好文 时间:
2021-03-08 13:45:25
阅读次数:
0
编号144:二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 思路 具体代码如下: / ...
分类:
其他好文 时间:
2021-03-08 13:24:07
阅读次数:
0
题目链接 题解 因为要进行异或运算,可以将$a$中的数按位存入二叉树中(有些像Trie树)。如题目样例一可存为如下的树: 据题意,$a_i$所连的边为与其异或值最小的元素,而该元素在二叉树中一定为与$a_i$相邻且与$a_i$的LCA最深的叶子节点。如上图中与$1$(第4层从左至右数第2个)连边的元 ...
分类:
其他好文 时间:
2021-03-08 13:20:54
阅读次数:
0
内容摘自:数据结构与算法之美 链表 链表并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用。 单链表 链表通过指针将一组零散的内存块串联在一起。其中,我们把内存块称为链表的“结点”。 为了将所有的结点串起来,每个链表的结点不仅要存储数据,还需要记录下一个结点的地址。我们将这个记 ...
分类:
其他好文 时间:
2021-03-08 13:20:35
阅读次数:
0
HashMap简介 哈希表(hash table) 也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,这种数据结构提供了键(key)和值(value)的映射关系,时间复杂度接近于O(1)。HashMap 就是一个哈 ...
分类:
其他好文 时间:
2021-03-08 13:10:59
阅读次数:
0
(Java8简介) 写在前面 之所以现在才开这个专栏,是因为之前学过,平时工作中也在用,但是总觉得用着不那么顺手,所以决定再来学一遍,然后记录下来,方便回顾。 Java8新特性简介 速度更快 更新了底层的数据结构 底层数据结构最核心的就是HashMap,下面以HashMap为例来说明: java7底 ...
分类:
编程语言 时间:
2021-03-06 15:09:37
阅读次数:
0