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

當前位置: 首頁 > news >正文

給人做網(wǎng)站多少錢張掖seo

給人做網(wǎng)站多少錢,張掖seo,廣西疫情最新通知,真實網(wǎng)站建設(shè)報價制作不易,三連支持一下吧!!! 文章目錄 前言一.歸并排序遞歸方法實現(xiàn)二.歸并排序非遞歸方法實現(xiàn) 前言 這篇博客我們將介紹歸并排序的原理和實現(xiàn)過程。 一、歸并排序遞歸方法實現(xiàn) 基本思想: 歸并排序(MERGE-…

制作不易,三連支持一下吧!!!

文章目錄

  • 前言
  • 一.歸并排序遞歸方法實現(xiàn)
  • 二.歸并排序非遞歸方法實現(xiàn)


前言

這篇博客我們將介紹歸并排序的原理和實現(xiàn)過程。


一、歸并排序遞歸方法實現(xiàn)

基本思想:
歸并排序(MERGE-SORT)是建立在歸并操作上的一種有效的排序算法,該算法是采用分治法(Divide andConquer)的一個非常典型的應(yīng)用。將已有序的子序列合并,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。若將兩個有序表合并成一個有序表,稱為二路歸并。

歸并排序核心步驟:

? ??????1.分解:?

將所給序列一分為二,直到區(qū)間中只有一個元素時停止。這個過程是遞歸進行的,通過傳遞區(qū)間參數(shù)來控制。

? ? 2.?合并:

相鄰兩個子數(shù)組有序之后,就遞歸合并這兩個子數(shù)組,將它們合并成一個新的有序子數(shù)組

?動圖演示如下:

歸并時,我們是借助一個臨時數(shù)組tmp來合并兩個有序子數(shù)組。?

?代碼實現(xiàn)如下:

void _MergeSort(int* a, int begin, int end, int* tmp)
{if (begin >= end)return;int mid = (begin + end) / 2;_MergeSort(a, begin, mid, tmp);_MergeSort(a, mid + 1, end, tmp);int begin1 = begin, end1 = mid;int begin2 = mid + 1, end2 = end;int i = begin;while (begin1 <= end1 && begin2 <= end2){if (a[begin1] <= a[begin2]){tmp[i++] = a[begin1++];}else {tmp[i++] = a[begin2++];}}while (begin1 <= end1){tmp[i++] = a[begin1++];}while (begin2 <= end2){tmp[i++] = a[begin2++];}memcpy(a + begin, tmp + begin, sizeof(int) * (end - begin + 1));
}
void MergeSort(int* a, int n)
{int* tmp = (int*)malloc(n * sizeof(int));_MergeSort(a, 0, n - 1, tmp);free(tmp);tmp = NULL;
}

二、歸并排序非遞歸方法實現(xiàn)

同快速排序一樣,如果遞歸深度過深,可能會導(dǎo)致棧溢出,這樣的情況下,我們就不能用遞歸法來實現(xiàn)歸并排序。

上篇博客提到:將遞歸改成非遞歸的一般方法有兩種

一種是直接改循環(huán),如斐波那契數(shù)列。

另一種是借助?;蜿犃?#xff0c;例如快速排序。

這里我們借助棧也無法完成歸并排序,因此我們只能選擇循環(huán)。

代碼實現(xiàn)如下:

void MergeSortNonR(int* a, int n)
{int* tmp = (int*)malloc(sizeof(int) * n);if (tmp == NULL){perror("malloc:");return;}int gap = 1;while (gap < n){for (int j = 0; j < n; j +=2*gap){int begin1 = j, end1 = begin1 + gap - 1;int begin2 = end1 + 1, end2 = begin2 + gap - 1;int i = j;if (end1 >= n || begin2 >= n){break;}//處理數(shù)組越界的情況if (end2 >= n)end2 = n - 1;while (begin1 <= end1 && begin2 <= end2){if (a[begin1] <= a[begin2]){tmp[i++] = a[begin1++];}else {tmp[i++] = a[begin2++];}}while (begin1 <= end1){tmp[i++] = a[begin1++];}while (begin2 <= end2){tmp[i++] = a[begin2++];}memcpy(a + j, tmp + j, sizeof(int) * (end2 - j + 1));}gap *= 2;}free(tmp);tmp = NULL;
}

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

相關(guān)文章:

  • 濰坊地區(qū)網(wǎng)站制作免費輿情監(jiān)測平臺
  • wordpress 文章推薦一篇福建優(yōu)化seo
  • 網(wǎng)站建設(shè)的目的和作用網(wǎng)站seo推廣排名
  • 阿里云企業(yè)網(wǎng)站怎么收費百度競價排名多少錢
  • 網(wǎng)站建設(shè)調(diào)查報告范文seo是怎么優(yōu)化上去
  • 找人做網(wǎng)站做的很爛seo診斷服務(wù)
  • 網(wǎng)站運營托管協(xié)議杭州網(wǎng)絡(luò)優(yōu)化公司排名
  • 武漢做網(wǎng)站的公司有哪些比較好友情鏈接也稱為
  • 糧食局網(wǎng)站建設(shè)報告網(wǎng)紅推廣
  • 清遠黨風廉政建設(shè)網(wǎng)站不受限制的搜索瀏覽器
  • 做網(wǎng)站每年要交不費用嗎石家莊seo公司
  • 設(shè)計網(wǎng)站賣錢seo百度點擊軟件
  • 網(wǎng)站關(guān)鍵字標簽最新seo操作
  • 海南城鄉(xiāng)建設(shè)庁網(wǎng)站色盲測試圖第六版
  • 圖片制作網(wǎng)頁關(guān)于進一步優(yōu)化落實疫情防控措施
  • 網(wǎng)站被墻了怎么辦百度推廣合作
  • 長沙專業(yè)網(wǎng)站設(shè)計2023年小學(xué)生簡短小新聞
  • ssp媒體服怎樣做網(wǎng)站搭建一個網(wǎng)站
  • 鄭州網(wǎng)站建設(shè)gusai123護膚品軟文推廣
  • 北京模板網(wǎng)站開發(fā)品牌軟文范文
  • 招商網(wǎng)站大全seo技術(shù)推廣
  • 樣板網(wǎng)站看b站視頻下載軟件
  • 創(chuàng)建網(wǎng)站的向?qū)Ш湍0搴馑畇eo營銷
  • b2c 電子商務(wù)網(wǎng)站的經(jīng)營特點百度提升優(yōu)化
  • 棋類游戲網(wǎng)站開發(fā)游戲優(yōu)化是什么意思?
  • 團購網(wǎng)站前景新聞熱搜榜 今日熱點
  • 保定網(wǎng)站開發(fā)公司學(xué)做網(wǎng)站培訓(xùn)班要多少錢
  • 北流網(wǎng)站建設(shè)培訓(xùn)班招生方案
  • 公眾號免費素材網(wǎng)站2023年6月份疫情嚴重嗎
  • 營銷型網(wǎng)站建設(shè)公司易網(wǎng)拓線上推廣渠道有哪些方式