随笔分类 -  经典排序,树算法

数组实现双色球彩票
摘要:数组相关问题 1、如何把数组中的元素逆序? /* 思路:逆序就是把数组的元素前后倒置。 我们可以把前后两个数 i 和 arr.length-1-i 位置上的数进⾏交换, 但是⼀定注意交换次数是⻓度的⼀半。 */ function reverseArray1(arr) { for (var i = 0 阅读全文
posted @ 2020-12-26 16:26 kk20_625 阅读(122) 评论(0) 推荐(0) 编辑
堆排-元素去重-查找问题
摘要:堆排序与元素去重及查找问题 1、堆排序与元素去重 package com.m.sort; import java.util.Arrays; import java.util.Random; public class Test2 { public static void main(String[] a 阅读全文
posted @ 2020-12-22 15:21 kk20_625 阅读(144) 评论(0) 推荐(0) 编辑
删除排序数组中的重复项再练习
摘要:删除排序数组中的重复项再练习 package com.m.algorithm; import java.util.Arrays; import java.util.Random; public class Test { //1、删除排序数组中的元素 public static int test(in 阅读全文
posted @ 2020-11-22 11:01 kk20_625 阅读(88) 评论(0) 推荐(0) 编辑
插入排序与二分查找与CopyOnWrite 写时复制思想
摘要:插入排序与二分查找 package com.m.test; import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import 阅读全文
posted @ 2020-11-14 11:00 kk20_625 阅读(143) 评论(0) 推荐(0) 编辑
稳定的算法用于对象排序
摘要:稳定的算法用于对象排序 插入与归并等,稳定算法用于对象排序 插入排序 package com.m.algorithm; import java.util.Arrays; public class Test { /** 深入学习排序算法的思路 * 冒泡 选择 * * 插入(二分) O(n^2) 归并( 阅读全文
posted @ 2020-10-30 11:11 kk20_625 阅读(124) 评论(0) 推荐(0) 编辑
二叉树、2-3 树、红黑树
摘要:二叉树、2-3 树、红黑树 二叉树、2-3 树、红黑树 一、满二叉树 二、完全二叉树 三、二叉查找树 四、平衡二叉树 4.1 插入原理 4.2 旋转问题 4.3 旋转操作 4.3.1 单旋转 4.3.2 双旋转 五、平衡查找树之 2-3 查找树(2-3 Search Tree) 5.1 将数据项放入 阅读全文
posted @ 2020-10-17 14:11 kk20_625 阅读(244) 评论(0) 推荐(0) 编辑
LeetCode题解——接雨水
摘要:LeetCode题解——接雨水 我的LeetCode代码集:https://github.com/cnamep001/LeetCode 原题链接:https://leetcode-cn.com/problems/trapping-rain-water/description/ 题目描述: 思路一:利 阅读全文
posted @ 2020-10-17 13:35 kk20_625 阅读(163) 评论(0) 推荐(0) 编辑
归并排序时间复杂度分析
摘要:归并排序 归并排序也叫(Merge sort)。 工作原理 将给定的数组一份为二 对两部分数组再使用归并排序使其有序 最后再将两部分数组合并 时间复杂度计算 转载自:https://blog.csdn.net/a1033025319/article/details/88650514 阅读全文
posted @ 2020-10-17 13:02 kk20_625 阅读(1029) 评论(0) 推荐(0) 编辑
B树,B+树,红黑树应用场景及B+实现
摘要:B树,B+树,红黑树应用场景笔记 一、B树的应用 1、B树大量应用在数据库和文件系统当中。 它的设计思想是,将相关数据尽量集中在一起,以便一次读取多个数据,减少硬盘操作次数。B树算法减少定位记录时所经历的中间过程,从而加快存取速度。 假定一个节点可以容纳100个值,那么3层的B树可以容纳100万个数 阅读全文
posted @ 2020-10-16 11:23 kk20_625 阅读(251) 评论(0) 推荐(0) 编辑
30张图带你理解红黑树
摘要:30张图带你彻底理解红黑树 当在10亿数据进行不到30次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀! —— 学红黑树有感。 终于,在学习了几天的红黑树相关的知识后,我想把我所学所想和所感分享给大家。红黑树是一种比较难的数据结构,要完全搞懂非常耗时耗力,红黑树怎么自平衡?什么时候需要左旋或 阅读全文
posted @ 2020-10-16 11:03 kk20_625 阅读(171) 评论(0) 推荐(0) 编辑
LeetCode题解——四数之和
摘要:LeetCode题解——四数之和 我的LeetCode代码集:https://github.com/cnamep001/LeetCode 原题链接:https://leetcode-cn.com/problems/4sum/description/ 题目描述: 思路一:用Set集合来过滤重复元素 用 阅读全文
posted @ 2020-10-13 11:52 kk20_625 阅读(103) 评论(0) 推荐(0) 编辑
LeetCode题解——最长回文子串
摘要:LeetCode题解——最长回文子串 我的LeetCode代码集:https://github.com/cnamep001/LeetCode 原题链接:https://leetcode-cn.com/problems/longest-palindromic-substring/description 阅读全文
posted @ 2020-10-12 09:10 kk20_625 阅读(107) 评论(0) 推荐(0) 编辑
链表排序之堆排序
摘要:3. 链表排序之堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种**选择排序,**它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都 阅读全文
posted @ 2020-10-11 18:15 kk20_625 阅读(1417) 评论(0) 推荐(0) 编辑
链表排序之快排与归并(递归与非递归)
摘要:链表排序之快排与归并(递归与非递归) 1.对链表进行快速排序 以【4,2,5,3,7,9,0,1】为例,我们来模拟一趟快排的过程。 **1、**初始化时,i指向链表首元素4;j = i +1,指向2。基准数字为当前i 指向的数字:4。 j 4 2 5 3 7 9 0 1 i **2、**随后开始循环 阅读全文
posted @ 2020-10-11 14:45 kk20_625 阅读(270) 评论(0) 推荐(0) 编辑
LeetCode题解——字符串转整数(atoi)
摘要:LeetCode题解——字符串转整数(atoi) 我的LeetCode代码集:https://github.com/cnamep001/LeetCode 原题链接:https://leetcode-cn.com/problems/string-to-integer-atoi/description/ 阅读全文
posted @ 2020-10-11 10:39 kk20_625 阅读(203) 评论(0) 推荐(0) 编辑
堆排序与选择排序的关联
摘要:堆排序与选择排序的关联 一、简单选择排序 基本思想:假设排序表为 L[1....n] ,第i趟排序即从L[i,,,,n] 中选择关键字最小的元素与 L(i) 交换,每一趟排序可以确定一个元素的最终位置,这样经过 n-1 趟排序就可以使整个排序表有序。 选择排序的执行过程为每次循环遍历数组找出最小(或 阅读全文
posted @ 2020-10-10 20:27 kk20_625 阅读(131) 评论(0) 推荐(0) 编辑
LeetCode题解——两数之和
摘要:题解LeetCode——两数之和 我的LeetCode代码集:https://github.com/cnamep001/LeetCode 原题链接:https://leetcode-cn.com/problems/two-sum/description/ 题目描述: 思路一:利用哈希表来记录nums 阅读全文
posted @ 2020-10-10 11:08 kk20_625 阅读(105) 评论(0) 推荐(0) 编辑
题解LeetCode——回文数
摘要:题解LeetCode——回文数 我的LeetCode代码集:https://github.com/cnamep001/LeetCode 原题链接:https://leetcode-cn.com/problems/palindrome-number/description/ 题目描述: 思路一:翻转数 阅读全文
posted @ 2020-10-09 15:17 kk20_625 阅读(162) 评论(0) 推荐(0) 编辑
题解LeetCode--三数之和
摘要:三数之和--LeetCode015 我的LeetCode代码集:https://github.com/cnamep001/LeetCode 原题链接:https://leetcode-cn.com/problems/3sum/description/ 题目描述: 知识点:哈希表,对撞双指针 思路一: 阅读全文
posted @ 2020-10-08 13:50 kk20_625 阅读(178) 评论(0) 推荐(0) 编辑
LinkedList原理分析
摘要:LinkedList的API boolean add(E object) void add(int location, E object) boolean addAll(Collection<? extends E> collection) boolean addAll(int location, 阅读全文
posted @ 2020-10-07 14:56 kk20_625 阅读(135) 评论(0) 推荐(0) 编辑

 
点击右上角即可分享
微信分享提示