mirror of
https://github.com/chefyuan/algorithm-base.git
synced 2025-10-14 12:21:33 +00:00
代码重构 【Github Actions】
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
> 如果阅读时,发现错误,或者动画不可以显示的问题可以添加我微信好友 **[tan45du_one](https://raw.githubusercontent.com/tan45du/tan45du.github.io/master/个人微信.15egrcgqd94w.jpg)** ,备注 github + 题目 + 问题 向我反馈
|
||||
> 如果阅读时,发现错误,或者动画不可以显示的问题可以添加我微信好友 **[tan45du_one](https://raw.githubusercontent.com/tan45du/tan45du.github.io/master/个人微信.15egrcgqd94w.jpg)** ,备注 github + 题目 + 问题 向我反馈
|
||||
>
|
||||
> 感谢支持,该仓库会一直维护,希望对各位有一丢丢帮助。
|
||||
>
|
||||
> 另外希望手机阅读的同学可以来我的 <u>[**公众号:袁厨的算法小屋**](https://raw.githubusercontent.com/tan45du/test/master/微信图片_20210320152235.2pthdebvh1c0.png)</u> 两个平台同步,想要和题友一起刷题,互相监督的同学,可以在我的小屋点击<u>[**刷题小队**](https://raw.githubusercontent.com/tan45du/test/master/微信图片_20210320152235.2pthdebvh1c0.png)</u>进入。
|
||||
> 另外希望手机阅读的同学可以来我的 <u>[**公众号:袁厨的算法小屋**](https://raw.githubusercontent.com/tan45du/test/master/微信图片_20210320152235.2pthdebvh1c0.png)</u> 两个平台同步,想要和题友一起刷题,互相监督的同学,可以在我的小屋点击<u>[**刷题小队**](https://raw.githubusercontent.com/tan45du/test/master/微信图片_20210320152235.2pthdebvh1c0.png)</u>进入。
|
||||
|
||||
### **直接插入排序(Straight Insertion Sort)**
|
||||
|
||||
@@ -38,7 +38,7 @@ class Solution {
|
||||
if (temp < nums[j]) {
|
||||
nums[j+1] = nums[j];
|
||||
continue;
|
||||
}
|
||||
}
|
||||
//跳出循环
|
||||
break;
|
||||
}
|
||||
@@ -77,19 +77,18 @@ class Solution:
|
||||
|
||||
**直接插入排序时间复杂度分析**
|
||||
|
||||
最好情况时,也就是有序的时候,我们不需要移动元素,每次只需要比较一次即可找到插入位置,那么最好情况时的时间复杂度为O(n)。
|
||||
最好情况时,也就是有序的时候,我们不需要移动元素,每次只需要比较一次即可找到插入位置,那么最好情况时的时间复杂度为 O(n)。
|
||||
|
||||
最坏情况时,即待排序表是逆序的情况,则此时需要比较2+3+....+n = (n+2)*(n-1)/2,移动次数也达到了最大值,3 +4+5+....n+1 = (n+4)*(n-1)/2,时间复杂度为O(n^2).
|
||||
最坏情况时,即待排序表是逆序的情况,则此时需要比较 2+3+....+n = (n+2)_(n-1)/2,移动次数也达到了最大值,3 +4+5+....n+1 = (n+4)_(n-1)/2,时间复杂度为 O(n^2).
|
||||
|
||||
我们每次插入一个数据的时间复杂度为O(n),那么循环执行 n 次插入操作,平均时间复杂度为O(n^2)。
|
||||
我们每次插入一个数据的时间复杂度为 O(n),那么循环执行 n 次插入操作,平均时间复杂度为 O(n^2)。
|
||||
|
||||
**直接插入排序空间复杂度分析**
|
||||
|
||||
根据动画可知,插入排序不需要额外的存储空间,所以其空间复杂度为O(1)
|
||||
根据动画可知,插入排序不需要额外的存储空间,所以其空间复杂度为 O(1)
|
||||
|
||||
**直接插入排序稳定性分析**
|
||||
|
||||
我们根据代码可知,我们只会移动比 temp 值大的元素,所以我们排序后可以保证相同元素的相对位置不变。所以直接插入排序为稳定性排序算法。
|
||||
|
||||

|
||||
|
||||
|
Reference in New Issue
Block a user