算法导论学习--学习笔记0527
生活随笔
收集整理的這篇文章主要介紹了
算法导论学习--学习笔记0527
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
寫在前面的話
今天開始也要看看算法導論這本書了,開個長久的帖子記錄一下學習筆記以及感悟,也希望這是一種變相督促自己學習的辦法:)。
之前也讀書的時候算法這里也只學過數(shù)據(jù)結(jié)構(gòu),但是感覺自己只學會了部分思想,真要去leetcode去刷算法題未免太過吃力,看到別人推薦這本書,就找來了一本pdf版的好好學習一下,希望為時不晚。
封面鎮(zhèn)樓
插入排序
輸入:n個數(shù)的一個序列:x1,x2,x3,x4…xn;
輸出:滿足升序排序,要求前面的數(shù)字都比后面小
借用原書中的一張圖來代表這個排序的意思
- 圖解:如上圖,撲克牌應(yīng)該人人都玩過,當拿到n張牌后,你也已經(jīng)排序好了。如果此時再拿到一張牌,又想讓一手的撲克牌有序,你會選擇怎么把新拿到的那張牌塞進牌中呢?
- 大多數(shù)人辦法是,從后面開始比較,如果第n張牌比想塞的牌大,就往前繼續(xù)比較,如果倒數(shù)第二張(n-1)還是大,就繼續(xù)往前,直到碰到一張小的牌。如上圖的7插到5后面,而不是10的后面。
用一張圖動態(tài)表示(轉(zhuǎn)自菜鳥教程,侵刪):
放上一個C語言:
Java:
void insertionSort(byte[] array) {byte key;int j;for (int i = 1; i < array.length; i++) {key = array[i];j = i - 1;while (j >= 0 && array[j] > key) {array[j + 1] = array[j];j--;}array[j + 1] = key;}}總結(jié)
以上是生活随笔為你收集整理的算法导论学习--学习笔记0527的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: element ui Drawer 抽屉
- 下一篇: 知识图谱入门