常用演算法簡析(附時間複雜度)

2021-10-07 14:47:52 字數 492 閱讀 6751

比較相鄰的元素,如果前乙個比後乙個大,交換之。

第一趟排序第1個和第2個一對,比較與交換,隨後第2個和第3個一對比較交換,這樣直到倒數第2個和最後1個,將最大的數移動到最後一位。

第二趟將第二大的數移動至倒數第二位

......

因此需要n-1趟;

時間複雜度:o(n²)

選擇乙個增量序列 t1,t2,……,tk,其中 ti > tj, tk = 1;

按增量序列個數 k,對序列進行 k 趟排序;

每趟排序,根據對應的增量 ti,將待排序列分割成若干長度為 m 的子串行,分別對各子表進行直接插入排序。僅增量因子為 1 時,整個序列作為乙個表來處理,表長度即為整個序列的長度。

時間複雜度:o(

先從數列中取出乙個數作為基準數。

分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。

再對左右區間重複第二步,直到各區間只有乙個數。

時間複雜度:o(n*logn)

演算法之時間複雜度簡析

最近準備對演算法進行一些系統的總結和學習,不積跬步無以至千里,不積小流無以成江海.此文主要對時間複雜度進行簡單梳理和個人總結,本人才疏學淺,有所疏漏在所難免,如有不當和錯誤之處,歡迎指正 時間複雜度,用簡單地話描述為 為了大概估算程式運算時間的一種概量。那用什麼來估算的呢?用簡單的程式執行 的次數,...

演算法複雜度簡析

1.時間複雜度 1.1 時間頻度 乙個演算法中語句的執行次數稱為語句頻度或時間頻度。記為t n n稱為問題的規模,當n不斷變化時,時間頻度t n 也會不斷變化。1.2 定義 一般情況下,演算法中基本語句重複執行的次數是問題規模n的某個函式,用t n 表示。若有某個輔助函式f n 使得當n趨近於無窮大...

簡析時間複雜度和空間複雜度

時間複雜度和空間複雜度是用來評價演算法效率高低的2個標準,身為開發者肯定會經常會聽到這2個概念,但它們分別是什麼意思呢?其實這兩個概念從字面意思上也能看出一二 我們一般用 大o符號表示法 來表示時間複雜度 t n o f n n是影響複雜度變化的因子,f n 是複雜度具體的演算法。接下來再看一下不同...