随笔分类 -  数据结构和算法

背包问题
摘要:背包问题 1、0-1背包 你有一个载重为M的背包,现在有N个物品,每个物品重量为weight[i],价值为value[i],求在不超出载重的情况下,能取到的最大价值为多少? public static void main(String[] args) { Scanner scanner = new 阅读全文
posted @ 2023-05-11 17:43 gyp666 阅读(49) 评论(0) 推荐(0)
数据结构与算法-并查集算法
摘要:数据结构与算法-并查集算法 import java.util.Scanner; public class UnionTest { public int[] array; public int n; public int m; public UnionTest(int n,int m){ this.n 阅读全文
posted @ 2021-10-08 21:19 gyp666 阅读(37) 评论(0) 推荐(0)
数据结构与算法-kmp算法
摘要:数据结构与算法--kmp算法 KMP就是保证i(进行查找的字符串的下标)永远不回退,只回退(待查找的字符串下标)来使得匹配效率有所提升。它用的方法就是利用strKey在失配的j为之前的成功匹配的子串的特征来寻找j应该回退的位置。而这个子串的特征就是前后缀的相同程度。 所以next数组其实就是查找st 阅读全文
posted @ 2021-10-08 21:07 gyp666 阅读(134) 评论(0) 推荐(0)
数据结构与算法-排序算法(空间换时间算法)
摘要:数据结构与算法-排序算法(空间换时间算法) 1、#####计数排序 package suanfa; import java.util.Arrays; public class MySort { public void countingSort(int[] data){ int max=data[0] 阅读全文
posted @ 2021-09-23 16:23 gyp666 阅读(358) 评论(0) 推荐(0)
数据结构与算法-(归并排序)排序算法
摘要:数据结构与算法-(归并排序)排序算法 我们在之前肯定知道如何将两个有序数组组成一个有序数组,也知道分治法,而归并排序其实就是分治法和merge的组合。 package suanfa; import java.util.Arrays; public class MySort { public void 阅读全文
posted @ 2021-09-23 16:02 gyp666 阅读(39) 评论(0) 推荐(0)
数据结构与算法-(选择排序)排序算法
摘要:数据结构与算法-(选择排序)排序算法 选择排序中第一种是简单选择排序 package suanfa; public class MySort { private void swap(int[] data,int m,int n){ int temp=data[m]; data[m]=data[n]; 阅读全文
posted @ 2021-09-23 15:56 gyp666 阅读(72) 评论(0) 推荐(0)
数据结构和算法-排序算法(插入排序)
摘要:数据结构和算法-排序算法(插入排序) 插入排序第一种算法是简单插入排序。 package suanfa; public class MySort { public void insertSort(int[] data){ for(int i=1;i<data.length;i++){ int bas 阅读全文
posted @ 2021-09-23 15:44 gyp666 阅读(68) 评论(0) 推荐(0)
数据结构和算法-(比较排序)冒泡排序和快速排序
摘要:数据结构和算法-排序算法(比较排序) 比较排序的第一种算法是冒泡排序,比较常见,时间复杂度是n的平方 package suanfa; public class MySort { private void swap(int[] data,int m,int n){ int temp=data[m]; 阅读全文
posted @ 2021-09-16 11:03 gyp666 阅读(86) 评论(0) 推荐(0)