中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

游戲網(wǎng)站建設(shè)方案書百度seo關(guān)鍵詞點擊軟件

游戲網(wǎng)站建設(shè)方案書,百度seo關(guān)鍵詞點擊軟件,企業(yè)網(wǎng)站建設(shè)上海,廣東省住房和城鄉(xiāng)建設(shè)廳網(wǎng)站插入排序 與 希爾排序 六大排序之二 插入排序 與 希爾排序1 排序1.1排序的概念 2 插入排序2.1 插入排序原理2.2 排序步驟2.3 代碼實現(xiàn) 3 希爾排序3.1 希爾排序原理3.2 排序步驟3.3 代碼實現(xiàn) 4 時間復(fù)雜度分析 Thanks?(・ω・)ノ下一篇文章見&am…

插入排序 與 希爾排序

六大排序之二

  • 插入排序 與 希爾排序
    • 1 排序
      • 1.1排序的概念
    • 2 插入排序
      • 2.1 插入排序原理
      • 2.2 排序步驟
      • 2.3 代碼實現(xiàn)
    • 3 希爾排序
      • 3.1 希爾排序原理
      • 3.2 排序步驟
      • 3.3 代碼實現(xiàn)
    • 4 時間復(fù)雜度分析
  • Thanks?(・ω・)ノ
  • 下一篇文章見!!!!!!!

1 排序

1.1排序的概念

排序:所謂排序,就是使一串記錄,按照其中的某個或某些關(guān)鍵字的大小,遞增或遞減的排列起來的操作。
排序存在穩(wěn)定性,穩(wěn)定性是評估排序的重要標(biāo)準(zhǔn)。
穩(wěn)定性:假定在待排序的記錄序列中,存在多個具有相同的關(guān)鍵字的記錄,若經(jīng)過排序,這些記錄的相對次序保持不變,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,則稱這種排序算法是穩(wěn)定的;否則稱為不穩(wěn)定的。
排序可以概括為兩大類 、六大排序:
內(nèi)部排序:數(shù)據(jù)元素全部放在內(nèi)存中的排序。
外部排序:數(shù)據(jù)元素太多不能同時放在內(nèi)存中,根據(jù)排序過程的要求不能在內(nèi)外存之間移動數(shù)據(jù)的排序。
六大排序
這篇文章我們先介紹插入排序。

2 插入排序

2.1 插入排序原理

生活中最常見的插入排序就是撲克牌,我們一張一張的拿出來,比較然后放在合適位置。所用思想就是插入排序:
把待排序的記錄按其關(guān)鍵碼值的大小逐個插入到一個已經(jīng)排好序的有序序列中,直到所有的記錄插入完為止,得到一個新的有序序列 。
在這里插入圖片描述

2.2 排序步驟

  1. 從第一個元素開始,默認(rèn)已經(jīng)有序
  2. 取后一個元素tmp ,開始向前掃描
  3. (升序)如果有序序列的最后一個元素大于tmp , 有序序列結(jié)尾下標(biāo)向前移動
  4. 重復(fù) 3 步驟,直到有序序列最后一個元素小于tmp
  5. 插入tmp在該有序序列后。
  6. 再取數(shù)組下一個元素,重復(fù) 1-5 步驟
    在這里插入圖片描述

2.3 代碼實現(xiàn)

// 插入排序
void InsertSort(int* a, int n) {for (int i = 0; i < n - 1; i++) {int end = i;//記錄有序部分的最后下標(biāo)int tmp = a[end + 1];//被排序數(shù)while (end >= 0) {if (a[end] > tmp) {//如果有序部分最大值大于被排序數(shù),有序下標(biāo)--a[end + 1] = a[end];end--;}else//如果有序部分最大值小于被排序數(shù),直接退出。break;}//在比被排序數(shù)小的有序部分后賦值a[end + 1] = tmp;}
}

功能實現(xiàn)效果,非常nice。
在這里插入圖片描述
直接插入排序的特性總結(jié):

  1. 元素集合越接近有序,直接插入排序算法的時間效率越高。
  2. 時間復(fù)雜度:O(N^2) 。
  3. 空間復(fù)雜度:O(1),它是一種穩(wěn)定的排序算法
  4. 穩(wěn)定性:穩(wěn)定

3 希爾排序

3.1 希爾排序原理

希爾排序法又稱縮小增量法。希爾排序法的基本思想是:先選定一個整數(shù),把待排序文件中所有記錄分成個組,所有距離為的記錄分在同一組內(nèi),并對每一組內(nèi)的記錄進(jìn)行排序。然后,取,重復(fù)上述分組和排序的工作。當(dāng)?shù)竭_(dá)=1時,所有記錄在統(tǒng)一組內(nèi)排好序。

根據(jù)插入排序的特性 元素集合越接近有序,直接插入排序算法的時間效率越高。,我們進(jìn)行多次不同gap的插入排序,使其逐漸有序。進(jìn)而時間復(fù)雜度更低。
插入排序可以視為特殊的希爾排序。

3.2 排序步驟

  1. 選定gap值,并分組進(jìn)行預(yù)排序
  2. 每組進(jìn)行插入排序,使序列變得更加有序。
  3. gap值變小(務(wù)必保證最后一次是gap==1
  4. 重復(fù) 1 - 3 步驟,直到gap為1。
  5. 排序完成。
    在這里插入圖片描述

3.3 代碼實現(xiàn)

// 希爾排序
void ShellSort(int* a, int n) {int gap = n;//設(shè)置初始gap值while (gap > 1) {gap = gap / 2;//每次除2 直至為 1for (int i = 0; i < n - gap; i++) {//每組插入排序int end = i;int tmp = a[end + gap];while (end >= 0) {if (a[end] > tmp) {a[end + gap] = a[end];end -= gap;}elsebreak;}a[end + gap] = tmp;//結(jié)束后賦值}}
}

運行查看效果,very good!
在這里插入圖片描述
希爾排序的特性總結(jié):

  1. 希爾排序是對直接插入排序的優(yōu)化。
  2. 當(dāng)gap > 1時都是預(yù)排序,目的是讓數(shù)組更接近于有序。當(dāng)gap == 1時,數(shù)組已經(jīng)接近有序的了,這樣就
    會很快。這樣整體而言,可以達(dá)到優(yōu)化的效果。我們實現(xiàn)后可以進(jìn)行性能測試的對比。
  3. 希爾排序的時間復(fù)雜度不好計算,因為gap的取值方法很多,導(dǎo)致很難去計算,因此在好些樹中給出的
    希爾排序的時間復(fù)雜度都不固定:

4 時間復(fù)雜度分析

我們設(shè)計一個100000個數(shù)據(jù)測試函數(shù),來檢測一下插入排序,希爾排序的時間復(fù)雜度(以冒泡排序為對照組)。
請看下面測試效果:

在這里插入圖片描述
這里希爾排序有非常明顯的優(yōu)勢,運算非常之快,其次為插入排序。普通的冒泡排序在這里就像螻蟻一般。

至于希爾排序的時間復(fù)雜度目前還沒有證明。大概為n^1.3。下面是殷老師的觀點。
在這里插入圖片描述

Thanks?(・ω・)ノ

下一篇文章見!!!!!!!

http://www.risenshineclean.com/news/49572.html

相關(guān)文章:

  • 做石材外貿(mào)用什么網(wǎng)站宣傳推廣圖片
  • 如何做網(wǎng)站頁面免費的人民日報官網(wǎng)
  • 網(wǎng)絡(luò)銷售網(wǎng)站網(wǎng)站推廣引流最快方法
  • 德陽北京網(wǎng)站建設(shè)計算機(jī)培訓(xùn)短期速成班
  • 克隆視廳網(wǎng)站怎么做佛山seo整站優(yōu)化
  • 網(wǎng)站開發(fā)成本評估百度網(wǎng)站收錄入口
  • 做網(wǎng)站是哪個專業(yè)互聯(lián)網(wǎng)項目推廣是什么
  • 大良網(wǎng)站建設(shè)市場上海最專業(yè)的seo公司
  • 像淘寶類別網(wǎng)站怎么做seo網(wǎng)站關(guān)鍵詞優(yōu)化排名
  • 搜索引擎seo是什么意思seo外包優(yōu)化網(wǎng)站
  • 要求維護(hù)公司做網(wǎng)站整改的函百度信息流
  • 延吉網(wǎng)站建設(shè)移動端排名優(yōu)化軟件
  • 用什么工具做網(wǎng)站百度站長
  • 自己做的手工放在哪個網(wǎng)站賣站長工具seo綜合查詢騰訊
  • 網(wǎng)站建設(shè)是哪個專業(yè)最新新聞熱點事件2022
  • 做外貿(mào)用哪個網(wǎng)站好數(shù)據(jù)分析工具
  • 東營兩學(xué)一做測試網(wǎng)站360建站官網(wǎng)
  • 自己做網(wǎng)站app騰訊疫情實時數(shù)據(jù)
  • 切圖做網(wǎng)站過時了嗎seo手機(jī)關(guān)鍵詞網(wǎng)址
  • 知名網(wǎng)站排行榜北京百度搜索優(yōu)化
  • 上海市住房與城鄉(xiāng)建設(shè)委員會網(wǎng)站國際外貿(mào)網(wǎng)絡(luò)交易平臺
  • 企業(yè)做自己的網(wǎng)站要注意什么seo分析
  • 從哪里設(shè)置網(wǎng)站關(guān)鍵詞建站公司網(wǎng)站源碼
  • 石家莊學(xué)校網(wǎng)站建設(shè)關(guān)鍵路徑
  • 建筑企業(yè)網(wǎng)站模板站內(nèi)優(yōu)化包括哪些
  • 網(wǎng)站開發(fā)有沒有前途網(wǎng)站建設(shè)加推廣優(yōu)化
  • 深圳查詢建設(shè)項目規(guī)劃的網(wǎng)站百度seo優(yōu)化教程免費
  • 介紹一學(xué)一做視頻網(wǎng)站百度如何優(yōu)化排名靠前
  • 服裝電子商務(wù)網(wǎng)站有哪些網(wǎng)絡(luò)違法犯罪舉報網(wǎng)站
  • 網(wǎng)頁上本地網(wǎng)站搜索怎樣做營銷型網(wǎng)站制作公司