国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 web前端 js教程 利用js實現(xiàn)快速排序的方法

利用js實現(xiàn)快速排序的方法

Sep 14, 2017 am 10:33 AM
javascript 排序 方法

? ? ? ?快速排序,這也是在實際中最常用的一種排序算法,速度快,效率高。就像名字一樣,快速排序是最優(yōu)秀的一種排序算法。

1)算法原理

? ? ? 快速排序的基本思想:通過一趟排序?qū)⒋庞涗浄指舫瑟毩⒌膬刹糠?,其中一部分記錄的關(guān)鍵字均比另一部分的關(guān)鍵字小,則可分別對這兩部分記錄繼續(xù)進行排序,以達到整個序列有序。

2)算法描述

? ? ?快速排序使用分治法來把一個串(list)分為兩個子串(sub-lists)。具體算法描述如下:

? ? <1> 從數(shù)列中挑出一個元素,稱為 "基準"(pivot);

? ? <2> 重新排序數(shù)列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的后面(相同的數(shù)可以到任一邊)。在這個分區(qū)退出之后,該基準就處于數(shù)列的中間位置。這個稱為分區(qū)(partition)操作;

? ? <3> 遞歸地(recursive)把小于基準值元素的子數(shù)列和大于基準值元素的子數(shù)列排序。

3)javascript代碼實現(xiàn)

function paritition(arr, low, high) {
  let pivot = arr[low];
  while (low < high) {
    while (low < high && arr[high] > pivot) {
      --high;
    }
    arr[low] = arr[high];
    while (low < high && arr[low] <= pivot) {
      ++low;
    }
    arr[high] = arr[low];
  }
  arr[low] = pivot;
  return low;
}
function quickSort(arr, low, high) {
  if (low < high) {
    let pivot = paritition(arr, low, high);
    quickSort(arr, low, pivot - 1);
    quickSort(arr, pivot + 1, high);
  }
  return arr;
}
  var arr=[1,45,37,5,48,15,37,26,29,2,46,4,17,50,52];    
  console.log(quickSort(arr,0,arr.length-1));

4)算法分析

? ? 最佳情況:T(n) = O(nlogn)
? ? 最差情況:T(n) = O(n^2)
? ? 平均情況:T(n) = O(nlogn)

十大算法列表:

1.用JavaScript實現(xiàn)十大經(jīng)典排序算法--冒泡排序

2.用JavaScript實現(xiàn)十大經(jīng)典排序算法--選擇排序

3.用JavaScript實現(xiàn)十大經(jīng)典排序算法--插入排序

以上是利用js實現(xiàn)快速排序的方法的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
微信刪除的人如何找回(簡單教程告訴你如何恢復被刪除的聯(lián)系人) 微信刪除的人如何找回(簡單教程告訴你如何恢復被刪除的聯(lián)系人) May 01, 2024 pm 12:01 PM

而后悔莫及、人們常常會因為一些原因不小心將某些聯(lián)系人刪除、微信作為一款廣泛使用的社交軟件。幫助用戶解決這一問題,本文將介紹如何通過簡單的方法找回被刪除的聯(lián)系人。1.了解微信聯(lián)系人刪除機制這為我們找回被刪除的聯(lián)系人提供了可能性、微信中的聯(lián)系人刪除機制是將其從通訊錄中移除,但并未完全刪除。2.使用微信內(nèi)置“通訊錄恢復”功能微信提供了“通訊錄恢復”節(jié)省時間和精力,用戶可以通過該功能快速找回之前被刪除的聯(lián)系人,功能。3.進入微信設置頁面點擊右下角,打開微信應用“我”再點擊右上角設置圖標、進入設置頁面,,

怎么在番茄免費小說app中寫小說 分享番茄小說寫小說方法教程 怎么在番茄免費小說app中寫小說 分享番茄小說寫小說方法教程 Mar 28, 2024 pm 12:50 PM

  番茄小說是一款非常熱門的小說閱讀軟件,我們在番茄小說中經(jīng)常會有新的小說和漫畫可以去閱讀,每一本小說和漫畫都很有意思,很多小伙伴也想著要去寫小說來賺取賺取零花錢,在把自己想要寫的小說內(nèi)容編輯成文字,那么我們要怎么樣在這里面去寫小說呢?小伙伴們都不知道,那就讓我們一起到本站本站中花點時間來看寫小說的方法介紹吧。分享番茄小說寫小說方法教程  1、首先在手機上打開番茄免費小說app,點擊個人中心——作家中心  2、跳轉(zhuǎn)到番茄作家助手頁面——點擊創(chuàng)建新書在小說的結(jié)

手機版龍蛋孵化方法大揭秘(一步一步教你如何成功孵化手機版龍蛋) 手機版龍蛋孵化方法大揭秘(一步一步教你如何成功孵化手機版龍蛋) May 04, 2024 pm 06:01 PM

手機游戲成為了人們生活中不可或缺的一部分,隨著科技的發(fā)展。它以其可愛的龍蛋形象和有趣的孵化過程吸引了眾多玩家的關(guān)注,而其中一款備受矚目的游戲就是手機版龍蛋。幫助玩家們在游戲中更好地培養(yǎng)和成長自己的小龍,本文將向大家介紹手機版龍蛋的孵化方法。1.選擇合適的龍蛋種類玩家需要仔細選擇自己喜歡并且適合自己的龍蛋種類,根據(jù)游戲中提供的不同種類的龍蛋屬性和能力。2.提升孵化機的等級玩家需要通過完成任務和收集道具來提升孵化機的等級,孵化機的等級決定了孵化速度和孵化成功率。3.收集孵化所需的資源玩家需要在游戲中

快速掌握:華為手機開啟兩個微信賬號方法大揭秘! 快速掌握:華為手機開啟兩個微信賬號方法大揭秘! Mar 23, 2024 am 10:42 AM

在當今社會,手機已經(jīng)成為我們生活中不可或缺的一部分。而微信作為我們?nèi)粘贤?、工作、生活的重要工具,更是?jīng)常被使用。然而,在處理不同事務時可能需要分開兩個微信賬號,這就要求手機能夠支持同時登錄兩個微信賬號。華為手機作為國內(nèi)知名品牌,很多人使用,那么華為手機開啟兩個微信賬號的方法是怎樣的呢?下面就來揭秘一下這個方法。首先,要在華為手機上同時使用兩個微信賬號,最簡

Go語言方法與函數(shù)的區(qū)別及應用場景解析 Go語言方法與函數(shù)的區(qū)別及應用場景解析 Apr 04, 2024 am 09:24 AM

Go語言方法與函數(shù)的區(qū)別在于與結(jié)構(gòu)體的關(guān)聯(lián)性:方法與結(jié)構(gòu)體關(guān)聯(lián),用于操作結(jié)構(gòu)體數(shù)據(jù)或方法;函數(shù)獨立于類型,用于執(zhí)行通用操作。

快速祛除老年斑的有效方法(教你簡單又快速消除老年斑的養(yǎng)膚秘訣) 快速祛除老年斑的有效方法(教你簡單又快速消除老年斑的養(yǎng)膚秘訣) May 03, 2024 pm 12:01 PM

頸部和手背等暴露部位,老年斑是一種常見的皮膚問題,往往出現(xiàn)在年長者的面部。也會讓人看起來顯老、它不僅給人們的外貌帶來困擾。隨著科技的進步和美容技術(shù)的發(fā)展,現(xiàn)在有了許多簡單而快速的方法來祛除老年斑,然而?;謴湍贻p而健康的肌膚、幫助您快速消除老年斑、本文將分享一些有效的養(yǎng)膚秘訣。1.積極保護皮膚免受紫外線傷害的重要性所以避免長時間暴露在陽光下是非常重要的、紫外線是導致老年斑形成的主要原因之一。2.合理選擇護膚產(chǎn)品,使用含有抗氧化劑和美白成分的產(chǎn)品護膚產(chǎn)品中含有抗氧化劑和美白成分可以幫助減少老年斑的形

golang 方法的優(yōu)點是什么? golang 方法的優(yōu)點是什么? Apr 25, 2024 pm 02:45 PM

Go語言的方法提供多種優(yōu)勢,包括:促進代碼重用和封裝,使代碼更模塊化。提高代碼簡潔性和可讀性,將數(shù)據(jù)和操作封裝在一起。簡化維護,修改方法不會影響使用它的其他代碼。通過直接訪問共享數(shù)據(jù)字段提供更好的效率和性能。實現(xiàn)面向?qū)ο笤O計原則,例如數(shù)據(jù)隱藏、封裝和多態(tài)。

See all articles