算法学习笔记2022.1.11
生活随笔
收集整理的這篇文章主要介紹了
算法学习笔记2022.1.11
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 插入算法的核心代碼
?
public static void sort(Comparable[] a) {int n = a.length;for (int i = 1; i < n; i++) {for (int j = i; j > 0 && less(a[j], a[j - 1]); j--) {exch(a, j, j - 1);}assert isSorted(a, 0, i);}assert isSorted(a);}需要使用的輔助函數
? ?```java
?
? ?```
下面是一些注意事項和我自己的理解
? ?```
? ?其中斷言assert可以不用管,只要程序運行正常就不會用到assert;
? ?并且值得注意的是如果該算法如果要排序的數組是非隨機的,性能還是很優秀的,最短可以達到N-1;
? ?注意交換必須要從新開始的加進來的那個元素開始,一方面是因為前面已經維護好了,我們的目標就是讓新加進來的值也符合這個集合的規律,另一方,從頭開始其實是選擇排序的路子,但這里用選擇的路子不如用冒泡的路子來的方便
? ?
? ?```
總結
以上是生活随笔為你收集整理的算法学习笔记2022.1.11的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: csapp学习笔记2021.1.9
- 下一篇: java学习笔记2022.1.11