自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 从零开始看poi-tl源码3 NiceXWPFDocument 成员变量介绍(上)

NiceXWPFDocument 成员变量 源码

2024-03-24 19:54:53 1532 1

原创 从零开始看poi-tl源码-2 XWPFDocument介绍

XWPFDocument 的个人理解

2024-03-02 18:29:49 2325 3

原创 从零开始看poi-tl源码

poi-tl源码

2024-02-26 00:20:47 2110 2

原创 十大排序之Counting Sort 计数排序

从待排序数组的末尾开始遍历,根据元素的值和辅助计数数组中的累加值确定元素在排序后数组中的位置,并将元素放置到正确的位置。计数排序(Counting Sort)是一种线性时间复杂度的排序算法,适用于一定范围内的整数排序。计数排序的时间复杂度为O(n + k),其中n是待排序数组的大小,k是待排序数组中元素的范围。计数排序的空间复杂度为O(n + k),其中n是待排序数组的大小,k是待排序数组中元素的范围。对辅助计数数组进行累加操作,以确定每个元素在排序后的数组中的位置。

2023-06-29 16:25:50 90

原创 十大排序之Heap Sort 堆排序

堆排序的时间复杂度为O(n log n),无论是最好情况、最坏情况还是平均情况下。堆排序的空间复杂度为O(1),因为只需要使用常数级别的额外空间。堆排序是一种不稳定的排序算法,适用于各种数据规模。

2023-06-29 16:22:51 76

原创 十大排序之Merge Sort 归并排序

归并排序的时间复杂度始终为O(n log n),无论是最好情况、最坏情况还是平均情况下。归并排序的空间复杂度为O(n),因为需要使用额外的空间来存储临时数组。归并排序是一种稳定的排序算法,适用于各种数据规模。

2023-06-29 16:17:34 66

原创 十大排序之Quick Sort 快速排序

快速排序的时间复杂度取决于基准的选择和数组的划分情况,最坏情况下为O(n^2),最好情况下可达到O(n log n)。快速排序的空间复杂度为O(log n),因为递归调用需要使用额外的栈空间。快速排序是一种原地排序算法,不需要额外的空间来存储临时数组。平均情况下,快速排序的时间复杂度为O(n log n)。

2023-06-29 16:17:00 55

原创 十大排序之Shell Sort 希尔排序

希尔排序(Shell Sort)是一种改进的插入排序算法,其思路如下:首先,选择一个增量序列(通常为n/2,n为数组长度)来划分数组。按照增量序列的步长,对子序列进行插入排序。逐渐缩小增量序列的步长,重复上述步骤,直到增量序列为1,即对整个数组进行最后一次插入排序。希尔排序的时间复杂度取决于增量序列的选择,最坏情况下为O(n^2),最好情况下可达到O(n log n)。希尔排序相较于简单插入排序,在大规模数据集上表现更优,但并不如快速排序或归并排序等高级排序算法效率高。

2023-06-29 16:11:00 41

原创 十大排序之Selection Sort 选择排序

选择排序(Selection Sort)的思路是遍历待排序的数组,将当前位置视为最小值的索引。在剩余未排序部分中,循环并比较元素,找到最小值,并更新最小值的索引。由于选择排序在每次遍历中只进行一次交换,因此其交换操作相对较少,适用于较小规模的数组排序。然而,对于大规模数据集,选择排序的性能相对较差,更高效的排序算法如快速排序或归并排序更为适用。空间复杂度为O(1),因为算法只需要常数级的额外空间来存储索引和临时变量。选择排序的时间复杂度为O(n^2),其中n是待排序列表的元素个数。

2023-06-29 16:04:29 41

原创 十大算法之插入排序

插入排序

2023-06-29 15:41:31 29

原创 十大算法之冒泡排序

冒泡排序应该是每个学习计算机的第一个排序算法,通过相邻元素的比较和交换,逐步将最大的元素移动到列表的末尾。需要注意的是,冒泡排序是一种稳定的排序算法,即相等元素的相对顺序在排序后保持不变。方法实现了冒泡排序算法。通过嵌套的两个循环,依次比较相邻的元素并进行交换。空间复杂度为O(1),因为只需要常量级的额外空间来存储临时变量。时间复杂度为O(n^2),其中n是待排序列表的元素个数。方法中使用一个示例数组进行排序,并输出排序结果。

2023-06-28 19:08:58 35

原创 Java Concurrencyin Practice 并发编程实践系列 第二章 线程安全 Thread Safety 下

因此,为了简化开发过程并减少潜在的错误和问题,最好在最初的设计阶段就考虑并发访问,并设计出线程安全的类。但在实际情况中,设计一个完全线程安全的类可能并不容易。如果在最初的设计中就充分考虑了并发访问的情况,并采取了适当的同步措施,那么就能够确保类在多线程环境下的安全性。并发程序的行为是不确定的,因为线程的执行顺序和交互是受到多种因素影响的,包括底层硬件和操作系统的调度策略。概括一下,上面讲的是通过封装状态并限制对状态的访问,可以更好地控制多线程环境下的数据共享和访问,从而使程序更容易维护和确保线程安全性。

2023-06-28 18:59:38 31

原创 从平凡一天开始刷算法 leetcode.3

难度:中等。

2023-06-28 16:35:34 39

原创 从平凡一天开始刷算法 leetcode.2

难度:中等。

2023-06-28 16:08:58 32

原创 从平凡一天开始刷算法 leetcode.1

难度:简单。

2023-06-28 16:07:21 32

原创 Java Concurrencyin Practice 并发编程实践系列 第二章 线程安全 Thread Safety 上

Thread Safety

2023-06-28 15:24:00 38

原创 Java Concurrencyin Practice 并发编程实践系列1

Java Concurrencyin Practice java并发编程实践

2023-06-28 00:27:25 79

原创 从小白开始刷算法 前缀树篇 leetcode.720

leetcode trie 入门篇

2023-06-25 23:04:53 68

原创 从小白开始刷算法 前缀树篇 leetcode.208

leetcode trie 入门篇

2023-06-25 00:12:55 104 1

原创 从小白开始刷算法 动态规划篇 leetcode.62

leetcode 动态规划 入门篇

2023-06-24 23:19:13 53

原创 从小白开始刷算法 动态规划篇 leetcode.509

leetcode 记忆规划 入门篇

2023-06-24 22:44:41 55

原创 从小白开始刷算法 记忆化搜索篇 leetcode.322

leetcode 记忆化搜索 入门篇

2023-06-24 14:57:41 48

原创 从小白开始刷算法 记忆化搜索篇 leetcode.509

leetcode 记忆化搜索 入门篇

2023-06-24 14:00:28 86

原创 从小白开始刷算法 dfs篇 leetcode.938

leetcode dfs 入门篇

2023-06-24 01:42:04 172

原创 从小白开始刷算法 并查集篇 leetcode.547

leetcode 并查集 入门篇

2023-06-23 23:41:40 76

原创 从小白开始刷算法 并查集篇 leetcode.200

leetcode 并查集 入门篇

2023-06-23 23:21:29 99

原创 从小白开始刷算法 bfs篇 leetcode.107

leetcode bfs 入门篇

2023-06-23 18:47:46 43

原创 从小白开始刷算法 bfs篇 leetcode.102

leetcode bfs 入门篇

2023-06-23 17:45:08 72

原创 从小白开始刷算法 dfs篇 leetcode.200

leetcode dfs 入门篇

2023-06-23 16:46:10 87

原创 从小白开始刷算法 dfs篇 leetcode.938

leetcode dfs 入门篇

2023-06-22 23:27:06 51

原创 从小白开始刷算法 回溯法篇 leetcode.78

leetcode 回溯法 入门篇

2023-06-22 20:08:07 67

原创 从小白开始刷算法 回溯法篇 leetcode.22

leetcode 回溯法 入门篇

2023-06-20 21:25:24 139

原创 从小白开始刷算法 分治法篇 leetcode.53

leetcode 分治法入门篇

2023-06-20 16:17:33 61

原创 从小白开始刷算法 分治法篇 leetcode.169

leetcode 分治法 入门篇

2023-06-20 00:17:40 118

原创 从小白开始刷算法 双指针篇 leetcode.344

leetcode 双指针 入门篇

2023-06-20 00:07:30 36

原创 从小白开始刷算法 递归篇 leetcode.206

leetcode 递归 入门篇

2023-06-19 21:41:19 98

原创 从小白开始刷算法 递归篇 leetcode.509

leetcode 递归 入门篇

2023-06-19 21:28:40 89

原创 从小白开始刷算法 滑动窗口篇 leetcode.1456

leetcode 滑动窗口 入门篇

2023-06-19 16:11:53 114

原创 从小白开始刷算法 滑动窗口篇 leetcode.209

leetcode 滑动窗口 入门篇

2023-06-19 15:37:44 66

原创 从小白开始刷算法 二分法篇 leetcode.74

leetcode 二分法 入门篇

2023-06-19 15:06:00 63

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除