
算法
weixin_45590018
无
展开
-
暴力递归到动态规划
package com.atguigu;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;public class Main { public static StringBuilder sb = new StringBuilder(); public static HashMap<Integ原创 2021-10-24 20:15:39 · 129 阅读 · 0 评论 -
并查集总结
原理理解:并查集在频繁使用(大于或等于O(N))的时候平均时间复杂度可以达到O(1)1、在合并两个集合的时候使用了小的挂在大的上面2、在第一次查询代表的时候会将改路径上的所有的节点挂到代表节点上,所以下次查找代表节点会变为O(1)// 哈希表实现(但是使用的时间比较久,下面会使用数组实现)package com.atguigu.w;import java.util.HashMap;import java.util.List;import java.util.Stack;public c原创 2021-10-19 00:45:24 · 150 阅读 · 0 评论 -
Morris遍历
中序遍历public static void morrisIn(Node head) { if (head == null) { return; } Node cur1 = head; Node cur2 = null; while (cur1 != null) { cur2 = cur1.left; if (cur2 != null) {原创 2021-10-17 19:12:35 · 89 阅读 · 0 评论 -
如何较为直观的打印二叉树
如何较为直观的打印二叉树package com.atguigu;import java.util.HashMap;import java.util.Scanner;import java.util.Stack;public class Main { public static StringBuilder sb = new StringBuilder(); public void printTree(Node head) { sb.append("Binary原创 2021-10-12 22:09:22 · 131 阅读 · 0 评论 -
冒泡排序算法
冒泡排序/** * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 * 针对所有的元素重复以上的步骤,除了最后一个。 * 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 * */public class BubbleSort { public static void bubbleSort(int[] data) { System.原创 2020-09-20 10:28:05 · 143 阅读 · 1 评论