栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

算法解题可能会用到的知识/方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

算法解题可能会用到的知识/方法

Math
  • Math.sqrt(xx)
    对xx进行开方
String
  • charAt(xx)
    xx字母在字符串中的位置
  • compareTo(xx)
    比较两个字符串首字母的字典顺序大小,如果首字母相同则会比较第二个字母,以此类推
PriorityQueue

PriorityQueue(优先级队列):在Java1.5中引入。PriorityQueue是基于优先堆的一个无界队列,这个优先队列中的元素可以默认自然排序或者通过提供的Comparator(比较器)在队列实例化的时排序。要求使用Java Comparable和Comparator接口给对象排序,并且在排序时会按照优先级处理其中的元素。

数据结构
优先级队列底层的数据结构其实是一颗二叉堆

(1)二叉堆是一个完全二叉树
(2)根节点总是大于左右子节点(大顶堆),或者是小于左右子节点(小顶堆)。

  • add(xx) 和 offer(xx)
    都是往优先队列中插入元素,add(xx) 方法插入元素失败时会抛出异常,offer(xx) 插入元素失败时会返回false

  • element() 和 peek()
    都是获取元素但不删除队列首元素,也就是队列中权值最小的元素。element()会抛出异常,peek()会返回null。

  • remove() 和 poll()
    都是获取元素并删除队列首元素。remove()会抛出异常,poll()会返回null。

  • remove(Object o)
    用于删除队列中的指定元素(如果队列中有多个相同元素,只删除一个),由于删除操作会改变队列结构,所以要进行调整;又由于删除元素的位置可能是任意的,所以调整过程比其它函数稍加繁琐。

  • indexOf(Object o):查询对象o的索引

  • contain(Object o):判断是否容纳了元素

Map
  • hashmap.get(Object key, V defaultValue)
    获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值defaultValue。
List
  • arraylist.subList(int fromIndex, int toIndex)
    用于截取并返回动态数组中的起始位置(包含该索引位置)到结束位置(不包含该索引位置)的那一部分。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/343323.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号