
数据结构与算法2
略
某科学的南条
我要偷偷的惊艳,然后打工所有人
展开
-
数据结构之树的相关术语
树的定义: ①如果树的结点个数为0,则树为空树 ②如果树的结点个数为1,则该结点是被称为根结点的结点 ③如果树的结点个数大于1,则必存在一个称为根的结点,它的分支下是几个互不相交的有限集合,并且这些互不相交的有限集合本身又是一棵树。 定义注释:从定义③可知,树的定义蛮有趣的,树中有树,树中还是树,所以可知树的定义是一个递归定义,从下图可以看出,如果你仔细分析过带简单循环体的递归程序,那么会知道程序的整个运行路径其实...原创 2021-01-01 19:26:15 · 7671 阅读 · 0 评论 -
数据结构与算法之堆排序
package com.qiangqiang.sort; import java.util.Random; public class HeapSort { //堆排序 public static void main(String[] args) { String[] arr = {"A", "B", "C", "D"}; long l1 = System.currentTimeMillis(); sort(arr); lon原创 2021-01-02 20:19:47 · 7229 阅读 · 0 评论 -
数据结构之模拟索引最小优先队列
package com.qiangqiang.heap; public class IndexMinPriorityQueue<T extends Comparable> { //索引最小优先队列 //存储堆中的元素 private T[] items; //保证每个元素在items数组中的索引,pq数组需要堆有序 private int[] pq; //保证qp的逆序,pq的值作为索引,pq的索引作为值 private int[原创 2021-01-02 23:45:21 · 6340 阅读 · 0 评论 -
数据结构之模拟红黑树
package com.qiangqiang.tree; public class RedBlackTree<Key extends Comparable<Key>, Value> { //红黑树 public static void main(String[] args) { //创建红黑树 RedBlackTree<String, String> tree = new RedBlackTree<>();原创 2021-01-03 17:10:47 · 6277 阅读 · 0 评论 -
数据结构之模拟并查集
package com.qiangqiang.UF; import java.util.Scanner; public class UF { //并查集 public static void main(String[] args) { UF uf = new UF(5); System.out.println("默认情况下有多少分组" + uf.count()); //从控制台录入两个要合并的元素,调用union方法,观察合并后的并查集中的原创 2021-01-03 20:35:21 · 6233 阅读 · 2 评论 -
数据结构之模拟并查集优化连通算法
package com.qiangqiang.UF; public class UF_Tree { //优化并查集 //记录结点元素和该元素所在分组的标识 private int[] eleAndGroup; //记录并查集中数据的分组个数 private int count; //初始化并查集 private UF_Tree(int N) { //初始化分组的数量 this.count = N;原创 2021-01-03 21:07:08 · 6151 阅读 · 0 评论 -
数据结构之模拟堆
package com.qiangqiang.heap; public class Heap<T extends Comparable<T>> { public static void main(String[] args) { Heap<String> tHeap = new Heap<>(10); tHeap.insert("A"); tHeap.insert("B"); tHea原创 2021-01-02 18:04:16 · 6819 阅读 · 0 评论 -
数据结构之模拟栈
package com.qiangqiang.stack; public class Stack<T> { //采用链表来实现 //记录首节点 private Node node; private int size; /** * 保存单链表中的首节点 */ private Node headNode; /** * 保存单链表中的尾节点 */ private Node lastNode;原创 2021-01-01 16:07:35 · 6939 阅读 · 0 评论 -
数据结构之模拟二叉查找树
目前有问题,删除3可以,删除1,2会出问题,有时间了优化一下 package com.qiangqiang.tree; public class BinaryTree<Key extends Comparable<Key>, Value> { public static void main(String[] args) { BinaryTree<Integer ,String> binaryTree = new BinaryTree<&原创 2021-01-01 22:29:21 · 7453 阅读 · 1 评论 -
数据结构之模拟无向图
package com.qiangqiang.graph; import sun.misc.Queue; public class Graph { //图 //顶点数目 private final int V; //边的数目 private int E; //邻接表 private Queue<Integer>[] adj; public Graph(int v) { //初始化顶点数量原创 2021-01-03 22:44:13 · 6555 阅读 · 0 评论