
算法与数据结构
算法与数据结构
一介书生.
Call life as natality, noticing, accompaning, death.
展开
-
常用小算法
1、KMP的部分匹配值表 /** * 生成到一个字符串(子串) 的部分匹配值表 * * @param str 传入空数组,子字符串 */ public static void getNext(String str){ //创建一个 next 数组保存部分匹配值 int[] next = new int[str.length()]; //如果字符串长度为1 部分的匹配值就是0 next[0] = 0; for (int i=1,j=0; i< str.le原创 2022-04-07 21:01:01 · 107 阅读 · 0 评论 -
十大排序算法
一、冒泡排序 谁大谁上,每一轮都把最大的顶到天花板,效率太低O(n²)。 就是从数组中依次取出元素与数组剩下的元素相比较,当前面的元素比后面的元素大就交换。 public class demo0 { public static void main(String[] args) { int[] arr = {1,99,24,63,4,34,35,6,32,3}; Bubbling(arr); System.out.println(Arrays.t.原创 2022-03-02 11:02:11 · 345 阅读 · 0 评论 -
回溯算法(递归)
递归:递归就是在函数里调用函数本身。 基线条件和递归条件 1、基线条件:就是指结束调用的条件,避免形成无限循环。 2、递归条件:就是指函数调用自己的条件。 3、递归必须向基线条件逼近,否则就会出现无线递归。原创 2021-11-28 21:34:04 · 820 阅读 · 0 评论 -
链表之单向链表
一、链表介绍 1.链表是以节点来存储,链表的各个节点不一定是连续存储的。 2.链表分为两部分,一部分存储数据data,一部分存储下一个节点的地址。 3.链表分为带头节点链表和不带头节点链表。原创 2021-11-27 11:30:17 · 420 阅读 · 0 评论 -
使用稀疏数组实现棋盘的存储和读取
1、基本介绍 稀疏数组就是一个二维数组,但它里面存储的是二维数组的行数、列数以及值。 当一个数组中大部分元素为0或者为同一个值的数组时,可以使用稀疏数组保存。 2、处理方法 记录数组一共有几行几列,有多少个不同的值。 把具有不同值的元素的行列以及记录在一个小规模的数组中,从而缩小程序的规模。 3、代码实现 /** * 案例: * 使用稀疏数组实现围棋的读盘和存盘 * 棋盘是11*11的二维数组 */ public class SparseArray { public原创 2021-11-27 10:46:40 · 377 阅读 · 0 评论 -
使用数组模拟单向队列
1、队列介绍 队列是一个有序列表,可以用数组或链表来实现。 队列遵循先入先出的原则。即先存入队列的数据,要先取出。后存入队列的数据要后取出。 队列存取数据的情况: 当增加数据时,头部没有变,尾部再增加。当取出数据时,头部在减少,尾部没有变。 说明是在队列的尾部增加数据,在队列的头部取出数据。 2、使用数组模拟队列 maxSize是该队列最大容量,因为队列的输入输出是分别从前后端来处理的,因此需要两个变量front以及rear分别记录对列前后端的下标,front会随则数据的输出改变,原创 2021-11-27 10:05:24 · 217 阅读 · 0 评论 -
2021-11-11 Java不使用第三个变量,将两个变量交换
异或∧ a∧b 两个数相同,则等0,两个数不同则等于1。 a∧b∧c 异或可以随便交换位置。 实例:交换两个变量 int a = 10; int b = 2; a = a^b; // 8 // a = 8 // a=a^b b = a^b; // 10 // b = 8 ^ 2 // b=a^b^b a = a^b; // 2 // a = 8 ^ 10 // a=a^b^a^b^B ...原创 2021-11-11 20:32:34 · 745 阅读 · 0 评论 -
2021-11-10 Java数组的冒泡排序
冒泡排序 第一次排序: 第一轮比较,将数组遍历,取出数组第一个元素与第二个元素相比较,如果第一个元素大于第二个元素,则交换两个元素的位置,如果不大于则不交换位置, 第二轮比较,取出数组第二个元素与第三个元素相比较,则交换两个元素的位置,如果不大于则不交换位置。。。。。 第一次排序结束后,会将数组最大的元素放到数组的最后位置,每排完一次序,需要相比较的数组元素会减一,因为每次排序都将最大的元素放到了最后了,所以可以不用和排完序的元素进行比较。 第二次排序: 第二次排序是将第二大的数组元素方到倒数第.原创 2021-11-10 17:18:09 · 759 阅读 · 0 评论