- 博客(7)
- 收藏
- 关注
原创 理解ThreadLocal的用法
此类提供线程局部变量。这些变量与普通变量的不同之处在于,每个访问一个变量(通过其get或set方法)的线程都有自己的、独立初始化的变量副本。value = v;
2023-09-02 19:36:13
73
1
原创 插入排序算法
插入排序算法思想: 对数组维持一个有序部分与一个无序部分,一开始有序部分只有第一个元素,然后从第二个开始将后面的元素插入到有序部分合适的位置;代码实现:
2021-06-06 11:42:29
113
原创 冒泡排序算法
冒泡排序算法思想: 给定一个数组,长度为n,对数组进行n-1次遍历,每次遍历将最大的元素交换到数组的末尾,这样数组中较大的元素就如气泡一般冒到数组末尾。 代码实现:package sort;import java.util.Arrays;/*** @author yangpeng* @create 2021-06-05 23:49*/public class BubbleSort {public static void main(String[] a...
2021-06-06 11:41:14
81
原创 希尔排序算法
希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本,但希尔排序是非稳定的排序算法。算法思想: 先将整个待排序的记录序列分割成若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序;代码实现:package sort;import java.util.Arrays;/*** @author yangpeng* @create 2021-06-02 22:11*/public class ...
2021-06-06 11:38:50
113
原创 归并排序算法
归并排序 算法思想:归并排序是典型的分治思想的体现; 1. 首先通过递归将数组划分为最小的子数组(长度为1); 2. 然后从将最小的两个数组合并为一个新的有序数组,然后回溯到上一个子数组,再进行合并,通过几轮的回溯合并就完成数组的排序;实现代码: package sort;import java.util.Arrays;/*** @author yangpeng* @create 2021-05-31 23:0...
2021-06-01 23:12:49
180
4
原创 堆排序算法实现
堆排序 这里所说的堆其实是用数组描述的一种完全二叉树,先理解堆的概念及性质有利于理解堆排序的过程;算法思想: 1.建立堆(这里我们演示大顶堆,可以实现升序排列,降序排列则利用小顶堆),建立堆的过程实质上就是通过调整数组中元素的位置使数组所对应的二叉树满足大顶堆的条件(根节点的值要大于左右节点的值),建立堆要找到它的最后一个非叶子节点,从该节点开始调整结构依次到第一个元素即根节点; 2.建立好对以后我们将堆顶的元素与最后一个元素的值进行交换; ...
2021-05-30 21:45:29
454
1
原创 快速排序算法
快速排序1.算法思想:(1). 首先在数组里确定一个“基准”(pivot);(2). 设置两个索引left,right,他们分别从数组的左右两边遍历,经过交换,将大于pivot的值移到它的右边,小于pivot的值移到它的左边;(3). 将pivot左边和右边作为两个子数组递归调用(2)中的算法,经过几轮递归最后会返回一个有序的数组;2.代码实现:package sort;import java.util.Arrays;public class QuickSort {...
2021-05-29 11:35:39
147
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人