美文网首页
[LeetCode] 数据结构 - TreeMap/TreeSe

[LeetCode] 数据结构 - TreeMap/TreeSe

作者: YoungJadeStone | 来源:发表于2020-07-02 10:00 被阅读0次

TreeSet和TreeMap都是ordered存储结构。而TreeSet又基于TreeMap来实现。

TreeSet

A NavigableSet implementation based on a TreeMap. The elements are ordered using their natural ordering, or by a Comparator provided at set creation time, depending on which constructor is used. This implementation provides guaranteed log(n) time cost for the basic operations (add, remove, and contains).

TreeSet和TreeMap的关系类似于HashSet和HashMap之间的关系。HashSet底层依赖于HashMap实现,TreeSet底层则采用一个NavigableMap来保存TreeSet集合的元素。因为NavigableMap只是一个interface,因此底层依然是用TreeMap来包含Set集合中所有的元素。

public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializable {
  ...
}

时间复杂度

TreeMap和TreeSet在big O方面的时间复杂度是一样的:
新增 - O(logn)
查询 - O(logn)
删除 - O(logn)


reference

相关文章

  • [LeetCode] 数据结构 - TreeMap/TreeSe

    TreeSet和TreeMap都是ordered存储结构。而TreeSet又基于TreeMap来实现。 TreeS...

  • 源码解析(JDK1.8)之——TreeMap

    1 TreeMap 1.1 底层结构TreeMap底层使用的数据结构是红黑树 2 四个关注点 3 TreeMap源...

  • Comparable/Comparator分析

    源码来自jdk1.8 TreeMap, TreeSet, PriorityQueue等天生有序的数据结构,或是Ar...

  • 散列表

    散列表又名哈希表,这种数据结构也是在日常开发中使用非常频繁的数据结构。如Java使用HashMap,TreeMap...

  • 后端资料汇总

    1.leetcode https://leetcode-cn.com/problemset/all/ 2.数据结构...

  • TreeMap了解一下

    前言 TreeMap TreeMap类继承图 TreeMap的域 TreeMap的构造函数 TreeMap常见Ap...

  • JAVA集合——TreeMap

    一、基本概念 在介绍TreeMap之前,我们来了解一种数据结构:二叉树。相信学过数据结构的同学知道,这种结构的数据...

  • 集合框架Set之TreeSet

    TreeSet Set 接口的一种实现类 它的底层实现是基于TreeMap(底层实现的数据结构是树结构,并不...

  • 什么是红黑树?

    最近研究JDK源码的时候,发现TreeMap和TreeSet底层数据结构是红黑树,当然,TreeSet其实本质上就...

  • 寻找中位数

    LeetCode 295. Find Median from Data Stream设计一个数据结构,该数据结构动...

网友评论

      本文标题:[LeetCode] 数据结构 - TreeMap/TreeSe

      本文链接:https://www.haomeiwen.com/subject/wwrlqktx.html