摘要:平衡二叉树是在二叉搜索树的基础上增加了结构变换,理解起来费劲不少。 四种转换类型:LL、RR、RL、LR 要理解这四种类型,需要先说明一个概念: 平衡系数:Balance Fate(以下简称BF) 算法是:拿到一个节点,求这个节点左子树与右子树的深度差的绝对值。 对于平衡二叉树有3种情况:0、1、2 阅读全文
posted @ 2020-05-28 17:43 SamNicole1809 阅读(13) 评论(0) 推荐(0) 编辑
摘要:项目后端为springboot,前端为vue 后端在mysql数据库直接存储要下载的信息,mediumtext类型。 需求:前端列表明细行有下载按钮,点击按钮时,通过Post请求拿到下载信息,并下载。 1 download({ id: row.id }).then(response => { 2 c 阅读全文
posted @ 2020-05-25 13:58 SamNicole1809 阅读(81) 评论(0) 推荐(0) 编辑
摘要:单链表: 简单的链表结构,对象方式实现。通常,单链表实际很少使用,但不失为一个好的学习工具。 没有经过严格的测试,用于学习理解,如有错误,欢迎指正。 复杂度: 头插和尾插:O(1) 中间插入:O(n) 头删:O(1) 尾删:O(n) 中间删:O(n) 按元素删:O(n) 查元素:O(n) 改元素:O 阅读全文
posted @ 2020-05-09 11:38 SamNicole1809 阅读(16) 评论(0) 推荐(0) 编辑
摘要:要点:有n条数据,通过m个hash函数,将每条数据都转化为m个数,存到0-x的数集中。查询时,先将数据转化为m个数,如果m个数不能在数集中全都找到,说明该数据一定不存在。但是,全都找到,不能说明数据一定存在。 1 import redis.clients.jedis.Jedis; 2 import 阅读全文
posted @ 2020-05-05 16:42 SamNicole1809 阅读(15) 评论(0) 推荐(0) 编辑
摘要:直接上代码:递归和while版本 1 public class BinarySearch<T extends Comparable> { 2 3 /** 4 * 递归二分查找 5 * 6 * @param arr 数组 7 * @param left 左标 8 * @param right 右标 9 阅读全文
posted @ 2020-04-30 17:39 SamNicole1809 阅读(38) 评论(0) 推荐(0) 编辑
摘要:要点:利用空间换时间,有桶排序的思想,按照基数规则转换,使空间开销较小,但理解起来比计数排序复杂的多。 1 import java.util.Random; 2 3 public class RadixSort { 4 5 public void sort(int arr[]) { 6 int ma 阅读全文
posted @ 2020-04-30 16:42 SamNicole1809 阅读(21) 评论(0) 推荐(0) 编辑
摘要:要点:利用空间换时间,按照数组下标,对应元素。试用于都是整数,且最大最小值相差不大的情况。 1 public class CountSort { 2 3 public void sort(int[] arr) { 4 printArr(arr, " => 原数组"); 5 // 确认最大最小值 6 阅读全文
posted @ 2020-04-30 11:12 SamNicole1809 阅读(13) 评论(0) 推荐(0) 编辑
摘要:要点:将数组作为堆结构,利用大根堆根最大的性质,构建完就将根与未排序部分的末尾交换,逐步实现有序。 1 import java.util.Random; 2 3 public class HeapSort<T extends Comparable> { 4 5 public void sort(T[ 阅读全文
posted @ 2020-04-29 18:02 SamNicole1809 阅读(11) 评论(0) 推荐(0) 编辑
摘要:要点:利用了插入排序对于数据有序性的依赖,先对部分元素位置进行调整,再执行插入排序。整体上降低了插入排序的时间复杂度,是插入排序的改进版本。当然,人品好的,还是用插入吧。 1 import java.util.Random; 2 3 public class ShellSort<T extends 阅读全文
posted @ 2020-04-29 10:38 SamNicole1809 阅读(17) 评论(0) 推荐(0) 编辑
摘要:要点:先递归向下拆分,再递归向上合并,合并后的元素是有序的,分而治之的思想。 为了理解起来简单,算法内部多了数组的创建过程。是可以优化的,可以看一下其它的归并版本。 1 public class MergeSort<T extends Comparable> { 2 3 private T[] so 阅读全文
posted @ 2020-04-28 14:01 SamNicole1809 阅读(31) 评论(0) 推荐(0) 编辑