算法
zhkp
这个作者很懒,什么都没留下…
展开
-
排序算法(Java实现)
选择排序选择排序即选择最小的,放在第一位;选择第二小的,放在第二位…以此类推,直至数组排序完毕。选择排序时间复杂度在O(N2),且与输入数据无关,总是要比较相同的次数;不需要额外的空间,不稳定。 /** * 比较函数 * @param v 参数v * @param w 参数w * @return 若v < w,返回true;否则返回false */ private static boolean less(Comparable v,原创 2020-10-03 23:52:45 · 108 阅读 · 0 评论 -
union-find问题
union-find算法实现union-find问题就是动态图连通性问题,即图中两点是否连通。加权quick-union算法加权quick-union算法是解决union-find问题比较高效的办法,主要思想为:同一连接分量的节点使用树进行连接,find()函数可以查找节点所在连接分量树的根节点,通过比较根节点是否相同来判断节点是否属于同一连通分量。连接时如果两节点不在同一连通分量上则需要将两个连通分量并到同一棵树上,此处便是加权的思想:将节点数较小的树的根节点连接到节点数较大的根节点上,这样可使原创 2020-09-22 20:37:50 · 171 阅读 · 0 评论 -
Java实现栈与队列
以下基于链表结构实现。stack:import java.util.Iterator;import java.util.NoSuchElementException;/** * Stack,即栈,特性是先进后出; * * @author zhkp */public class Stack<Item> implements Iterable<Item> { /** * 链表结构; */ private class Node {原创 2020-08-18 15:34:33 · 153 阅读 · 0 评论