- 博客(19)
- 收藏
- 关注
原创 生产者消费者
import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;public class Main{ public static void main(String[] args) throws InterruptedException {// int[] a = new int
2020-09-05 18:31:56 103
原创 树的遍历
import java.util.*;public class Main{ public static void main(String[] args) { int[] a = new int[]{3,8,4,6,7,9,1,3}; //int[] a = new int[]{3,3,3,3,3,1}; node n3 = new node(3,null,null); node n2 = new node(2,null,new no
2020-09-05 17:49:39 77
原创 2020-08-23
import java.util.*;import java.util.Scanner;public class Main { public static void main(String[] args) { LinkedHashMap<Integer,Integer> list = new LinkedHashMap<>(); Scanner sc = new Scanner(System.in); String
2020-08-23 14:32:17 158
原创 冒泡排序
public int[] insertSort(int[] array) { boolean flag = true; for(int i = 0; i<array.length&& flag; i++) { flag=false; for(int j=i+1;j<array.length;j++){ if(array[j-1]>array[j]).
2020-07-07 13:30:11 136
原创 树的后序遍历非递归实现
public static void postOrder(Node root) { Stack<Node> s = new Stack<>(); Node cur = root; //记录当前访问节点 Node flag = null; //记录刚刚访问完的节点 while(cur!=null) { s.push(cur); ...
2020-06-20 09:33:51 103
原创 树的中序遍历递归与非递归
public static void no_rec_midOrder(Node root) { Stack<Node> s = new Stack<>(); Node current = root; s.push(root); while(!s.isEmpty()) { if(current!=null&¤t.left!=null){
2020-06-19 21:04:50 88
原创 数的先序遍历 递归与非递归
public static void PreOrder(Node root) { if(root==null)return; int val = root.val; PreOrder(root.left); PreOrder(root.right); } public static void no_rec_PreOrder(Node root) { Stack<Node> s = n.
2020-06-19 21:03:17 213
原创 希尔排序
public static int[] ShellSort(int[] array) { int n = array.length; int gap = n/2; while(gap>0) { for(int i=gap;i<n;i++) { int current = array[i]; int pre ...
2020-06-19 16:51:11 61
原创 归并排序
public static int[] MergeSort(int[] array) { if(array.length<2)return array; int mid = array.length/2; int[] left = MergeSort(Arrays.copyOfRange(array,0,mid)); int[] right = MergeSort(Arrays.copyOfRange(array,mid,...
2020-06-19 16:50:27 53
原创 计数排序
通过空间换取时间 public static void countingSort(int[] array) { int bias,min = array[0],max=array[0]; for(int i:array) { if(i<min)min=i; if(i>max)max=i; } bias = 0-min; int[] cou
2020-06-19 16:49:10 41
原创 桶排序
桶排序就是可以容纳多个计数的计数排序 public static ArrayList<Integer> BucketSort(int[] array,int buckSize) { int max = array[0]; int min = array[0]; for(int i:array) { if(i>max)max=i; if(i<min)min=i
2020-06-19 16:48:31 67
原创 基数排序
public static int[] RadixSort(int[] array) { int max = array[0]; for(int i:array) { if(i>max)max=i; } int maxdigit=0; while(max!=0) { max=max/10; maxdigi...
2020-06-19 16:46:53 62
原创 堆排序
public static void HeapSort(int[] array) { int n = array.length; buildMaxHead(array); while(n>0) { int temp = array[0]; array[0]=array[n-1]; array[n-1]=temp; n--; ...
2020-06-19 10:32:13 44
原创 快速排序
public static int[] fastSort(int[] array,int start,int end) { if(array.length<1||start<0||end>=array.length||start>end)return null; int index = partition(array,start,end); //找到分割点坐标 if(index>start) f..
2020-06-19 10:05:56 73
原创 dijstra
import java.util.ArrayList;import java.util.Arrays;import java.util.Map;public class Main { public static void Dijstra(int[][] graph,int root) { int n = graph.length; int[] visit = new int[n]; int[] distance = new int[n];
2020-06-18 10:36:21 69
原创 floyd
import java.util.Arrays;public class Main { public static int[][] floyd(int[][] graph) { int n = graph.length; int[][] diatance = new int[n][n]; for(int i=0;i<n;i++) for(int j=0;j<n;j++) diat
2020-06-18 09:39:06 88
原创 使用并查集来实现Kruskal算法
使用并查集来实现Kruskal算法 做一下笔记import java.util.ArrayList;import java.util.Arrays;public class Main{ public static ArrayList<Edge> PRIM(int n,Edge[] e) { ArrayList<Edge> list = new ArrayList<>(); int[] id = new int[n+
2020-06-17 17:46:13 375
转载 最小生成树的Prim算法 java实现
最小生成树的Prim算法 java实现看的其它大佬的代码 在这记录一下 方便复习```javapublic class Main{ public static void PRIM(int[][] graph,int start,int n) { int[][] min = new int[n][2];//保存到子图的最短距离以及前驱节点 //初始化 for(int i=0;i<n;i++) {
2020-06-17 16:19:03 345
原创 ccf csp 消息传递口 超时问题求解答
ccf csp 消息传递口 超时问题求解答我使用一个数组 l[n] 来存放目前n个进程正在运行的消息。使用queueq[n] 来存放每一个进程的所有消息。如果l[n]中两个消息可以运行就会抵消,然后从相应进程再读入新的消息。至到所有消息运行完毕或者l[n]没有可运行消息(死锁)为止。进程超时了只有10分,本人是小白,不知道这个进程哪里耗时太久了,想以后避免这种问题。有没有大佬可以帮忙瞥一眼...
2019-10-29 11:14:04 509
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人