一些数据结构的介绍

优先队列

特点

  1. 优先队列不允许空值
  2. 优先队列出队列默认从小到大出队列,若想从大到小则可添加比较器
  3. 优先队列的大小是不受限制的,但在创建时可以指定初始大小。当我们向优先队列增加元素的时候,队列大小会自动增加。
  4. PriorityQueue是非线程安全的,所以Java提供了PriorityBlockingQueue(实现BlockingQueue接口)用于Java多线程环境

常用的方法

  1. peek():返回队首元素,出错抛异常
  2. poll():返回队首元素,队首元素出队列,出错返回null
  3. add():添加元素,出错抛异常
  4. offer():添加元素,出错返回null
  5. size():返回队列元素个数
  6. isEmpty():判断队列是否为空,为空返回true,不空返回false

字典树(前缀树)

特点

  1. 最大限度的减少无畏的字符串比较,查询效率比哈希表高
  2. 利用字符串的公共前缀来节约存储空间
  3. 是一种空间换时间的算法,它占用的空间一般很大,但时间是非常高效的

基本性质

  1. 根节点不包含字符,除根节点外每一个节点都只包含一个字符
  2. 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串
  3. 每个节点的所有子节点包含的字符都不相同简单原理

猜你喜欢

转载自blog.csdn.net/ilvjiale/article/details/120743788