日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

直接插入排序比较次数_插入排序(C++)

發布時間:2025/3/20 c/c++ 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 直接插入排序比较次数_插入排序(C++) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于插入排序的例子網上有很多,這里只是為了加深理解,做個簡單的記錄,方便以后回顧。

一、代碼圖片(升序排序)

二、實現思路

1. 插入排序是將未排序的數據插入到已經排序的數據中。其實仔細發現其實插入排序是冒泡排序的改進版,冒泡排序是從頭開始向后面比較,基本上每次都要從頭比較到尾部,而插入排序從后向前比較,我們從第二個元素開始向前比較,當遇到一個大于他的數時,就將該數向后移動一位,然后繼續向前比較知道遇到不大于他的數停止,然后從第三個元素開始重復上面的操作知道最后一個元素。這樣明顯的降低了比較的次數,是冒泡排序的進化版。效率任然為O(N^2) --->最壞的情況是完全倒序,此時比較次數就和冒泡排序一樣。(插入排序的好處在于他無需從后向前比較到最前面的元素,只需要比較到第一個小于他的數就可以停止了,因為前面是有序的所以前面的數都肯定小于他)

2. 元素移動展示

3. 插入排序,一般也被稱為直接插入排序。對于少量元素的排序,它是一個有效的算法。應用場景適合規模不大于1000。

三、復雜度分析

時間復雜度

在插入排序中,當待排序數組是有序時,是最優的情況,只需當前數跟前一個數比較一下就可以了,這時一共需要比較N- 1次,時間復雜度為O(N)。

最壞的情況是待排序數組是逆序的,此時需要比較次數最多,總次數記為:1+2+3+…+N-1,所以,插入排序最壞情況下的時間復雜度為O(N2)。

平均來說,A[1..j-1]中的一半元素小于A[j],一半元素大于A[j]。插入排序在平均情況運行時間與最壞情況運行時間一樣,是輸入規模的二次函數。

空間復雜度

插入排序的空間復雜度為常數階 O(1)。

未完。。。

總結

以上是生活随笔為你收集整理的直接插入排序比较次数_插入排序(C++)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。