自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 归并排序算法

首先理解分治的思想,一个很大的问题难以解决,就把它分成若干个规模较小的相同子问题,每个子问题是相互独立的,递归的解决子问题,再将子问题的解归并成原问题的解。现在再去理解归并排序,它是采用了分治的思想,分治法(Divide and Conquer),先分再治。把序列分成若干个较小的子序列,先把子序列排序,再治,把他们归并成有序的大序列。将待排序的线性表不断地切分成若干个子表,直到每个子表只包含一个元素,这时可以认为只子表是有序表。

2024-10-29 16:20:46 184 1

原创 快速排序算法

快速排序实际是一个递归的代码,重点就是要把数组通过基准(一般取第一元素)分开,先从右开始比较,如果小于基准交换元素,再从左边开始比较,大于基准,交换元素,继续从右边比较,最后基准左边的元素比基准小,基准右边的元素比基准大,再对左右两边的子数组进行递归排序。

2024-09-20 16:18:59 252

原创 希尔排序算法

希尔排序实际上是对直接插入排序算法的改进,关键是分组。直接插入排序的步长是1,比较的是两个元素之间的大小,而希尔排序是每趟比较固定的步长gap,gap的初始值是长度len/2,以后每趟是再次len/2,直到 len=1。虽然待排序的序列是通过gap分好组了,但是每次排序的的时候不是直接把一个组的元素排成有序,而是从每趟第一个待排序元素开始,依次对该组前面的元素使用直接插入排序。

2024-09-15 17:59:36 201

原创 插入排序算法

插入排序是把未排序的元素依次插入到已经有序的序列中,依次向前查找元素,若大于未排序元素,则后移,直到找到第一个小于未排序元素的位置,则位置确定、初始序列的第一个元素不用排序,默认有序的。

2024-09-12 20:03:11 175

原创 选择排序算法

选择排序是每趟选择最小的一个元素放到前面,在每一趟排序中假设未排序的第一个元素是最小值,把最小值和后面的元素依次比较,找出更小的元素,直到把把元素比较完,再交换第一个元素和最新最小值元素的位置。空间复杂度O(1),只在交换元素时使用了一个空间位置。时间复杂度O(n*n),两层for循环。

2024-09-10 16:34:10 223

原创 冒泡排序算法

冒泡排序是比较相邻的两个元素,小的放前面,大的放后面,再依次向后比较,每趟可以确定一个元素的最终位置。第一趟比较n-1次,第二趟比较n-2次,第三趟比较n-3次,,,,第n-1趟比较一次,当比较n-1趟走完时,已经确定n-1个元素的位置,只剩一个元素,不用比较。空间复杂度O(1),只在交换元素时使用一个空间位置。时间复杂度O(n*n),两层for循环。

2024-08-03 22:31:07 192 1

原创 java学习有解

Java学习中的问题

2024-04-24 14:31:48 334 2

空空如也

空空如也

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

TA关注的人

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