Java
seaking_fade
愿你历尽千帆,归来仍是少年
展开
-
java排序算法
插入排序 /** * 插入排序:利用每次交换前0到p-1上的元素已经处于排过序的状态; * 第p趟,将位置p上元素向左移动,直到在前p+1个元素中找到正确的位置。 * * @param a * @param <T> */ public static <T extends Comparable<? super T>> void原创 2017-12-19 23:58:17 · 156 阅读 · 0 评论 -
数据结构——优先队列PriorityQueue
PriorityQueue底层原理是二叉堆继承AbstractQueue抽象类,实现Serializable接口AbstractQueue继承AbstractCollection抽象类,实现Queue接口AbstractCollection实现Collection接口主要方法为offer(E e),peek(),poll()源码分析offer(E e)——插入元素 public b原创 2017-12-11 23:50:21 · 269 阅读 · 0 评论 -
数据结构——二叉堆
数据结构——二叉堆完全二叉树高为h的完全二叉树有 2^h~2^(h+1)-1个节点,高为O(log N)insert——插入通过上滤实现,最好为O(1),最坏情况为O(log N),一次插入平均需要2.607次比较,因此平均一次插入上移1.607层deleteMin——删除最小元通过下滤实现,,最坏情况为O(log N),平均时间为O(log N)decreaseKey——降低关键字的值,原创 2017-12-04 23:04:54 · 374 阅读 · 0 评论