- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 树的前、中、后序遍历
满二叉树:public class BinaryTree { private int[] arr; public BinaryTree(int[] arr) { this.arr = arr; } public void preOrder(int index) { if (arr == null || arr.length == 0) { System.out.println("数组为空"); }
2021-12-30 11:05:38 433
原创 MySQL CASE WHEN NOT IN
在做LeetCode数据库608. 树节点时,使用CASE WHEN NOT IN时,遇到一个not in不生效的问题表结构CREATE TABLE `tb_tree` ( `id` int(11) NOT NULL, `p_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`))表数据INSERT INTO `leetcode`.`tb_tree`(`id`, `p_id`) VALUES (1, NULL);INSERT INTO `lee.
2021-10-12 16:29:30 1233 1
原创 排序算法之堆排序(8)
8.树结构的实际应用-堆排序1.实现思路1)将待排序序列构造成一个大顶堆2)此时,整个序列的最大值就是堆顶的根节点。3)将其与末尾元素进行交换,此时末尾就为最大值。4)然后将剩余n-1个元素重新构造成一个堆,这样会得到n个元素的次小值。如此反复执行,便能得到一个有序序列了。1.步骤一构造初始堆。将给定无序序列构造成一个大顶堆(一般升序采用大顶堆,降序采用小顶堆)。原始的数组 [4, 6, 8, 5, 9].假设给定无序序列结构如下.此时我们从最后一个非叶子结点开始(叶结点自然不
2021-01-23 17:19:44 135 1
原创 排序算法之基数排序(7)
7.基数排序7.1实现思路7.2具体实现1.第一轮排序public class RadixSort { public static void main(String[] args) { int[] arr = { 5, 234, 34, 48, 135, 3 }; radixSort(arr); System.out.println("第一轮,对个位数的排序处理:" + Arrays.toString(arr)); } public static void radixSort
2021-01-23 17:14:13 76
原创 排序算法之归并排序(6)
6.归并排序6.1实现思路上图中的最后一次合并,要将 [4,5,7,8]和[1,2,3,6]两个已经有序的子序列,合并为最终序列[1,2,3,4,5,6,7,8],来看下实现步骤:6.2具体实现public class MergeSort { public static void main(String[] args) { int[] array = {3, 6, 1, 6, 7, 8, 2, 8, 4}; mergeSort(array, 0, arr
2021-01-23 17:11:53 86
原创 排序算法之快速排序(5)
5.快速排序5.1排序思路快速排序很多人在第一次见到时,会很懵,因为这个算法很多老师讲的不是太好,这个算法确实不好讲,但是你只要理解了快速排序的思路之后,就会发现这个算法真的很简单。小伙伴们可以结合这张图,与下面的第一次排序,就很一目了然,有什么不懂的地方欢迎大家一起在评论区交流学习。5.2具体实现1.第一次public class QuickSort1 { public static void main(String[] args) { int[] array = {3
2021-01-23 17:08:01 77
原创 排序算法之希尔排序(4)
4.希尔排序插入排序存在的问题:2,3,4,5,6,7,1希尔排序针对插入排序存在的问题,做出了改进4.1排序思路4.1具体实现1.交换法1.第一轮排序public class ShellSort { public static void main(String[] args) { int[] arr = {8, 9, 1, 7, 2, 3, 5, 4, 6, 0}; shellSort(arr); System.out.printl
2021-01-23 17:01:03 83
原创 排序算法之插入排序(3)
1.1排序思路1.2具体实现1.第一轮排序public class InsertSort { public static void main(String[] args) { int arr[] = {4, 3, 5, 1}; insertSort(arr); } //插入排序 public static void insertSort(int[] arr) { //原始数组:4, 3, 5, 1 //
2021-01-23 16:58:38 96
原创 排序算法之选择排序(2)
2.1排序思路2.2具体实现选择排序的次数=数组大小-1 次每1轮排序,又是一个循环,循环的规则:先假设当前这个数是最小数然后和后面的每个数比较,如果发现有比当前数更小的数,就重新确定最小数,并得到下标当遍历到数组的最后时,就得到本轮最小数和下标交换1.第一轮排序public class SelectSort { public static void main(String[] args) { int arr[] = {3, 1, 5, 4};
2021-01-23 16:54:52 159
原创 排序算法之冒泡排序(1)
1.冒泡排序1.1初识冒泡排序第一次排序:public class BubbleSortTest { public static void main(String[] args) { int[] array = {1, 5, 3, 4, 2, 0}; sort(array); System.out.println(Arrays.toString(array)); } public static void sort(int arr
2021-01-01 22:58:26 145
原创 大厂面试题第二季(周阳老师)
文章目录1、Volatile1.1什么是volatile1.2volatile的特性1.2.1volatile保证可见性1.什么是JMM(java内存模型)2、可见性代码验证1.2.2volatile`不保证原子性`1、代码验证2、为什么3、解决1.2.3volatile禁止指令重排(有序性)1.3单例模式2、CAS2.1什么是CAS?2.2底层原理2.3总结2.4简单总结2.5CAS缺点2.6ABA问题的解决3、集合类不安全3.1ArrayList3.1.1解决方案:3.2HashSet3.2.1解决方案
2020-12-20 16:19:12 1294
原创 使用nginx实现请求转发的功能(windows)
记录一次项目中用到的nginx做请求转发的功能修改nginx配置文件server { listen 9001; server_name localhost; location ~/serviceedu/ { proxy_pass http://localhost:8001; } location ~/eduoss/ { proxy_pass http://localhost:8002
2020-10-19 13:01:36 1279
原创 完美解决github访问慢的问题
第一步:进入https://www.ipaddress.com网站第二步:分别输入github.global.ssl.fastly.net和github.com查出ip地址第三步:修改hosts文件windows系统的hosts文件的位置如下:C:\Windows\System32\drivers\etc\hostsmac/linux系统的hosts文件的位置如下:/etc/hosts添加刚刚查出的ip,并保存199.232.69.194 github.global.ssl.fast
2020-06-08 18:03:28 885
原创 aliyun-sdk-vod-upload爆红
第一步:复制aliyun-java-vod-upload.jar到配置好的maven的bin目录下:第二步:打开cmd(管理员)第三步:运行以下代码mvn install:install-file -DgroupId=com.aliyun -DartifactId=aliyun-sdk-vod-upload -Dversion=1.4.11 -Dpackaging=jar -Dfile=aliyun-java-vod-upload-1.4.11.jar...
2020-05-15 10:49:31 4117 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人