日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

TypeScript十大排序算法之選擇排序?qū)崿F(xiàn)示例詳解

瀏覽:111日期:2022-06-01 13:19:17
目錄
  • 一. 選擇排序的定義
  • 二. 選擇排序的流程
  • 三. 選擇排序的圖解
  • 四. 選擇排序的代碼
  • 五. 選擇排序的時(shí)間復(fù)雜度
  • 六. 選擇排序的總結(jié)

一. 選擇排序的定義

選擇排序(Selection Sort)是一種簡(jiǎn)單的排序算法。

它的基本思想是:

  • 首先在未排序的數(shù)列中找到最小(大)元素,然后將其存放到數(shù)列的起始位置;
  • 接著,再?gòu)氖S辔磁判虻脑刂欣^續(xù)尋找最小(大)元素,然后放到已排序序列的末尾。
  • 以此類推,直到所有元素均排序完畢。

選擇排序的主要優(yōu)點(diǎn)與數(shù)據(jù)移動(dòng)有關(guān)。

  • 如果某個(gè)元素位于正確的最終位置,則它不會(huì)被移動(dòng)。
  • 選擇排序每次交換一對(duì)元素,它們當(dāng)中至少有一個(gè)將被移到其最終位置上,因此對(duì)n個(gè)元素的表進(jìn)行排序總共進(jìn)行至多n-1次交換。
  • 在所有的完全依靠交換去移動(dòng)元素的排序方法中,選擇排序?qū)儆诜浅:玫囊环N。

選擇排序的實(shí)現(xiàn)方式很簡(jiǎn)單,并且容易理解,因此它是學(xué)習(xí)排序算法的很好的入門途徑。

二. 選擇排序的流程

選擇排序流程詳細(xì)步驟:

  • 首先將要排序的數(shù)組復(fù)制到一個(gè)新數(shù)組中,這樣原數(shù)組不會(huì)被改變。
  • 初始化最小數(shù)字的索引值為0,然后在數(shù)組中循環(huán),在當(dāng)前索引后面的元素中找到最小的數(shù)字的索引。
  • 如果當(dāng)前索引位置的數(shù)字不是最小數(shù)字,那么將這兩個(gè)數(shù)字互換。
  • 繼續(xù)尋找下一個(gè)數(shù)字,直到索引到最后一個(gè)元素,此時(shí)整個(gè)數(shù)組已經(jīng)是從小到大排序的了。
  • 重復(fù)上面的步驟,每次排序的范圍都會(huì)減少一個(gè),直到整個(gè)數(shù)組排序完畢。

三. 選擇排序的圖解

四. 選擇排序的代碼

以下是 TypeScript 實(shí)現(xiàn)的選擇排序代碼:

function selectionSort(arr: number[]): number[] {  // 循環(huán)遍歷整個(gè)數(shù)組  for (let i = 0; i < arr.length; i++) {    // 預(yù)設(shè)最小數(shù)的索引為當(dāng)前循環(huán)的索引    let minIndex = i;    // 在后面的數(shù)中尋找更小的數(shù)    for (let j = i + 1; j < arr.length; j++) {      if (arr[j] < arr[minIndex]) {// 如果找到更小的數(shù),記錄它的索引minIndex = j;      }    }    // 如果當(dāng)前循環(huán)的索引不是最小數(shù)的索引,交換它們    if (i !== minIndex) {      [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]];    }  }  // 返回排序后的數(shù)組  return arr;}// 測(cè)試數(shù)據(jù)const testArr = [5, 2, 9, 1, 5, 6];// 調(diào)用插入排序函數(shù)const sortedArr = selectionSort(testArr);// 打印結(jié)果console.log(sortedArr);

以下是代碼的詳細(xì)說(shuō)明:

  • 首先循環(huán)遍歷整個(gè)數(shù)組。
  • 在每一次循環(huán)中,預(yù)設(shè)最小數(shù)的索引為當(dāng)前循環(huán)的索引。
  • 在后面的數(shù)中尋找更小的數(shù),如果找到更小的數(shù),記錄它的索引。
  • 如果當(dāng)前循環(huán)的索引不是最小數(shù)的索引,交換它們。
  • 重復(fù)步驟2-4,直到遍歷完整個(gè)數(shù)組。
  • 返回排序后的數(shù)組。

五. 選擇排序的時(shí)間復(fù)雜度

計(jì)算選擇排序算法的時(shí)間復(fù)雜度,通常是通過(guò)分析算法中每一步的執(zhí)行次數(shù)來(lái)確定的。

我們分析選擇排序中的每一步,再將每一步的時(shí)間復(fù)雜度加起來(lái),最后得到的就是選擇排序的時(shí)間復(fù)雜度。

在選擇排序中,最多的操作是內(nèi)層循環(huán),其執(zhí)行了N-1次,并且每次執(zhí)行內(nèi)層循環(huán)都要花費(fèi)O(N)的時(shí)間。

  • 因此,內(nèi)層循環(huán)的時(shí)間復(fù)雜度是O(N^2)。

外層循環(huán)也要執(zhí)行N-1次,因此,它的時(shí)間復(fù)雜度也是O(N^2)。

  • 所以,整個(gè)選擇排序算法的時(shí)間復(fù)雜度是O(N^2)。

六. 選擇排序的總結(jié)

  • 選擇排序是一種簡(jiǎn)單易懂的排序算法。
  • 它的基本思想是遍歷整個(gè)列表,每次找出最小的元素,并且將它移到列表的最左邊,重復(fù)這個(gè)過(guò)程直到整個(gè)列表都有序排列。
  • 在平均情況下,選擇排序的時(shí)間復(fù)雜度為 O(n^2),在最壞情況下與最好情況下都為 O(n^2)。
  • 選擇排序在數(shù)據(jù)規(guī)模較小時(shí)非常適用,在數(shù)據(jù)規(guī)模較大時(shí)不夠高效。

以上就是TypeScript十大排序算法之選擇排序?qū)崿F(xiàn)示例詳解的詳細(xì)內(nèi)容,更多關(guān)于TypeScript 選擇排序算法的資料請(qǐng)關(guān)注其它相關(guān)文章!

標(biāo)簽: JavaScript
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
伊伊综合在线| 国产一区不卡| 免费福利视频一区二区三区| 美女高潮久久久| 日本在线不卡视频一二三区| 91成人精品视频| 国产亚洲一级| 日韩黄色免费网站| 国产精品一在线观看| 国产欧美精品久久| 国产成人1区| 免费观看久久av| 国产精品腿扒开做爽爽爽挤奶网站| 欧美日韩国产免费观看视频| 男人的天堂久久精品| 亚洲精品在线a| 欧美成人一二区| 日韩精品dvd| 日韩精品一级中文字幕精品视频免费观看 | 天堂日韩电影| 日韩中文字幕亚洲一区二区va在线 | 精品无人区麻豆乱码久久久| 国产传媒在线| 亚洲资源网站| 欧美国产极品| 久久中文字幕av| 日韩福利视频导航| 99久久亚洲精品| 911精品国产| 激情六月综合| 国产视频网站一区二区三区| 水蜜桃久久夜色精品一区| 亚洲黄页一区| 国产精品嫩模av在线| 午夜精品久久久久久久久久蜜桃| 自拍自偷一区二区三区| 国产精品蜜芽在线观看| 亚洲另类黄色| 日韩av福利| 国产精品xxx在线观看| 免费看欧美美女黄的网站| 人人草在线视频| 国产精品久久久久久模特| 天堂成人国产精品一区| 欧美黄色网页| 福利视频一区| 国产精品二区影院| 亚洲欧洲午夜| 日韩一区欧美二区| 国产欧美综合一区二区三区| 久久伦理在线| 久久国产欧美| 成人久久一区| 久久久噜噜噜| 黄色在线网站噜噜噜| 久久国产精品免费精品3p | 久久久久伊人| 欧美日韩精品一区二区三区视频 | 国产毛片久久| 国产精品日本| 日韩在线观看一区二区| 亚洲一区二区成人| 亚洲深爱激情| 免费久久99精品国产| 欧美专区在线| 中文在线不卡| 美国三级日本三级久久99| 午夜视频精品| 视频一区二区不卡| 亚洲精品高潮| 欧美日韩亚洲一区在线观看| 综合欧美亚洲| 亚洲精品看片| 日韩精品成人在线观看| 国产日韩一区二区三免费高清| 少妇精品久久久一区二区| 日韩精品社区| 国产毛片久久久| 国产精品麻豆成人av电影艾秋| 久久这里只有精品一区二区| 性欧美videohd高精| 久久麻豆精品| 日本h片久久| 欧美日韩免费看片| 蜜桃久久久久久| 高清精品久久| 五月天激情综合网| 亚洲精品大全| а√天堂8资源中文在线| 在线视频免费在线观看一区二区| 日韩激情一二三区| 日韩精品免费一区二区在线观看| 免费观看在线色综合| 精品精品国产三级a∨在线| 最新国产拍偷乱拍精品| 国产精品对白久久久久粗| 欧美肉体xxxx裸体137大胆| 免费观看日韩电影| 免费观看亚洲| 日韩精品视频在线看| 欧洲一区二区三区精品| 蜜桃av一区二区在线观看| 亚洲人成网站在线在线观看| 国产乱码精品一区二区三区四区| 麻豆精品蜜桃| 国产成年精品| 久久国产人妖系列| 樱桃成人精品视频在线播放| а√在线中文在线新版| 欧美久久精品| 天堂av在线一区| 国精品一区二区三区| 国内精品亚洲| 91精品国产自产在线丝袜啪| 99riav1国产精品视频| 中文在线а√天堂| 免费亚洲婷婷| 亚洲毛片一区| 日韩在线一二三区| 亚洲女同一区| 久久三级福利| 日韩网站中文字幕| 免费在线欧美黄色| 麻豆成人91精品二区三区| 国产精品午夜av| 国产欧美三级| 国产精品久久免费视频| 国产福利资源一区| 国产精品任我爽爆在线播放| 人人精品久久| 国产精品免费精品自在线观看| 欧美日韩夜夜| 亚洲人亚洲人色久| 91九色综合| 精品国产午夜| 波多野结衣久久精品| 久久久久午夜电影| 免费视频一区三区| 视频一区视频二区在线观看| 四虎精品一区二区免费| 日本欧美韩国一区三区| 国产亚洲人成a在线v网站| 精品国产乱码久久久久久樱花| 欧美日韩国产v| 日韩在线卡一卡二| 麻豆精品在线观看| 国产精品av久久久久久麻豆网| 91精品推荐| 男人操女人的视频在线观看欧美| **爰片久久毛片| 在线天堂中文资源最新版| 午夜国产精品视频免费体验区| 亚洲日本三级| 欧美久久天堂| 亚洲理论在线| 福利一区视频| 日本一区免费网站| 日韩免费高清| 日韩高清三区| 欧美亚洲激情| 国产视频网站一区二区三区| 欧美日中文字幕| 日韩av电影一区| 欧美久久精品一级c片| 国产精品4hu.www| 日韩影院免费视频| 波多视频一区| 国产精品午夜一区二区三区| 欧美日韩国产传媒| 久久中文字幕一区二区三区| 老牛国产精品一区的观看方式| 福利视频一区| 国产精品亚洲欧美| 欧美专区18| 在线日韩欧美| 热三久草你在线| 国产精品极品| 亚洲一区二区av| 好吊视频一区二区三区四区| 亚洲永久av| 国产一区二区三区91| 久久超级碰碰| 欧美日本三区| 亚洲免费专区| 亚洲狼人精品一区二区三区| 久久精品电影| 成人在线网站| 成人日韩在线观看| 播放一区二区| 天堂av在线| 成人日韩精品| 日韩精品影视| 日韩久久一区二区三区| 精品精品99| 精品欠久久久中文字幕加勒比| 91免费精品国偷自产在线在线| 日本电影久久久| 亚洲精品精选| 国产精品任我爽爆在线播放| 国产欧美亚洲精品a|