• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            二分法排序(二分法排序流程圖)

            更新時間:2023-03-01 14:06:16 閱讀: 評論:0

            各類排序方法在時間、空間復雜度及穩定性(通俗地講,就是兩個相等的數不會交換位置)方面各有優勢:

            對于插入排序,如果比較操作的代價比交換操作大的話,可以采用二分查找法來減少比較操作的次數,我們稱為二分插入排序(binary inrt sort)。二分法插入排序是在插入排序(見前一篇文章)的基礎上,采用二分法搜索來確定插入新元素的正確位置。

            當n較大時,二分插入排序的比較次數比直接插入排序的最差情況好得多,但比直接插入排序的最好情況要差,所當以元素初始序列已經接近升序時,直接插入排序比二分插入排序比較次數少。二分插入排序元素移動次數與直接插入排序相同,依賴于元素初始序列。

            現在我來簡單敘述一下二分法排序的思想,在插入第i個元素時,對前面的0~i-1元素進行折半,先跟他們中間的那個元素比,如果小,則對前半再進行折半,否則對后半進行折半,直到left>right,然后再把第i個元素前1位與目標位置之間的所有元素后移,再把第i個元素放在目標位置上。

            C代碼:

            python代碼:

            實現過程:外層循環控制循環次數,中層循環實現有序排列,內層循環實現查找插入

            附C代碼:

            #include <stdio.h>#include <stdlib.h>// 分類 -------------- 內部比較排序// 數據結構 ---------- 數組// 最差時間復雜度 ---- O(n^2)// 最優時間復雜度 ---- O(nlogn)// 平均時間復雜度 ---- O(n^2)// 所需輔助空間 ------ O(1)// 穩定性 ------------ 穩定void InrtionSortDichotomy(int A[], int n){ for (int i = 1; i < n; i++) { int get = A[i]; // 右手抓到一張撲克牌 int left = 0; // 拿在左手上的牌總是排序好的,所以可以用二分法 int right = i - 1; // 手牌左右邊界進行初始化 while (left <= right) // 采用二分法定位新牌的位置 { int mid = (left + right) / 2; if (A[mid] > get) right = mid - 1; el left = mid + 1; } for (int j = i - 1; j >= left; j--)// 將欲插入新牌位置右邊的牌整體向右移動一個單位 { A[j + 1] = A[j]; } A[left] = get; // 將抓到的牌插入手牌 }}int main(){ int A[] = { 5, 2, 9, 4, 7, 6, 1, 3, 8 };// 從小到大二分插入排序 int n = sizeof(A) / sizeof(int); InrtionSortDichotomy(A, n); printf("二分插入排序結果:"); for (int i = 0; i < n; i++) { printf("%d ", A[i]); } printf(" "); system("pau"); return 0;}

            附python代碼:

            import random # 生成序列Range = 10Length = 5list = random.sample(range(Range),Length)print('before sort:',list) # 元素插入for i in range(1,Length): #從第2個元素開始,插入到前一部分元素中....beg,end = 0,i-1................ #定義插入范圍....mid = (beg + end) // 2........ #定義二分/中間邊界 ....while beg < end:................#當邊界順序時,進行二分比較........mid = (beg + end) // 2........if mid == beg:............ #如果中間值與邊界相等,則邊界已確定,結束二分............break........#在確定中間與邊界不相等時,對邊界繼續縮小........if list[i] == list[mid]:............break........elif list[i]<list[mid]:............end = mid........el:............beg = mid ....#首先確定是否因為找到同值而提前終止....if list[i] == list[mid]:........list.inrt(mid, list[i])........list.pop(i + 1)....el:........if beg == end:............ #如果范圍內僅僅有一個值............if list[i] < list[beg]:................list.inrt(beg,list[i])............el:................list.inrt(beg+1, list[i])............list.pop(i + 1)........elif beg < end:............ #如果范圍內有兩值............if list[i] < list[beg]:................list.inrt(beg,list[i])............elif list[i] < list[end]:................list.inrt(end, list[i])............el:................list.inrt(end+1, list[i])............list.pop(i + 1)........el:............print("wrong, start at ",beg,', and end with ',end) print('after sort:',list)

            -end-

            本文發布于:2023-02-28 20:02:00,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/167765077674526.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:二分法排序(二分法排序流程圖).doc

            本文 PDF 下載地址:二分法排序(二分法排序流程圖).pdf

            標簽:流程圖
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 无码少妇一区二区三区浪潮av| 国产精品亚洲А∨天堂免下载 | 日本精品极品视频在线| 日韩精品福利一区二区三区| 57pao国产成视频免费播放| 亚洲国产av一区二区三| 亚洲av日韩av永久无码电影| 熟女国产精品一区二区三| 高清有码国产一区二区| 免费观看a毛片一区二区不卡| 亚洲午夜福利精品一二飞| 亚洲人成网站在线播放无码| 精品综合一区二区三区四区| 国产稚嫩高中生呻吟激情在线视频| 国产精品va在线观看无码不卡| 免费人成视频x8x8国产| 亚洲超碰97无码中文字幕| 国产精品国三级国产av| 国产在线观看毛带| 亚亚洲视频一区二区三区| 五月一区二区久久综合天堂| 国产av一区二区午夜福利| 丝袜a∨在线一区二区三区不卡 | 国产成人精品1024免费下载| 你懂的视频在线一区二区| 亚洲综合一区二区三区在线| 国产精品日日摸夜夜添夜夜添无码 | 色婷婷亚洲精品综合影院| 尤物久久国产精品免费 | 亚洲区欧美区综合区自拍区| 亚洲综合一区二区三区在线 | 熟妇人妻引诱中文字幕| 中文字日产幕码三区国产| 日韩av日韩av在线| 色综合色国产热无码一| 亚洲欧美日韩精品久久| 国产精品小仙女自拍视频| 国产精品综合一区二区三区 | 四虎库影成人在线播放| 99国精品午夜福利视频不卡99| 精品无码人妻|