《算法》第四版
pipony
这个作者很懒,什么都没留下…
展开
-
1.5 union-find算法
动态连通性问题。要点在find和union两个函数,用四种方法实现(愈趋优化)。这些方法主要在find和union函数上不同。A. quick-find算法package com.Page1; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public c...原创 2018-07-16 13:08:01 · 151 阅读 · 0 评论 -
第2章 排序算法(续原博)
6.优先队列---复杂度(时间logn,空间1) a.基础算法(堆实现,数组表示完全二叉树) package com.Page1; public class MaxPQ<Key extends Comparable<Key>>{ //用堆实现的优先队列,其中堆用完全二叉树表示,树节点用数组表示 //注意,本代码实现的是最大堆,即优先级最高的元素是值最大的元素 p...原创 2018-07-19 13:30:03 · 161 阅读 · 0 评论 -
2.5 排序应用中的“多键数组”排序
当待排序对象的键个数不止一个时,我们可以对这些键构造相应的比较器,使得可以自行指定按哪个键进行排序。 用到的是implements Comparator方法。 package com.Page1; import java.util.Comparator; public class MultiKey { //利用Comparator自定义比较器,实现多键数组排序 private I...原创 2018-07-19 14:33:27 · 194 阅读 · 0 评论 -
2.5 排序应用之“找到第k小的数或中位数”
书中第221页。 采用的是快排中的partition函数来帮助 package com.Page1; import edu.princeton.cs.algs4.StdRandom; public class Kmin { //找到第k小的元素,即比它小的元素有k个 private static int partition(Type[] a,int lo,int hi) {...原创 2018-07-19 15:17:38 · 222 阅读 · 0 评论 -
第三章 符号表
符号表的元素以键值-数值为类型,主要操作是插入和查找。 A.基于无序链表的顺序查找 package com.Page3; import java.util.LinkedList; import java.util.Queue; public class SequentialSearchST { //实现符号表,顺序查找,基于无序链表.不知道为什么如果在后面限定<Integer,Do...原创 2019-12-17 17:21:54 · 132 阅读 · 0 评论