国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前段經(jīng)典算法

鄒強(qiáng) / 3458人閱讀

摘要:參考冒泡排序典型的排序方法,命名來自魚呼吸時(shí)吹出的氣泡,上層的氣泡總是最大的。時(shí)間復(fù)雜度,屬于不穩(wěn)定的算法特殊情況下會(huì)是空間復(fù)雜度輔助空間是,所以空間復(fù)雜度為

參考lianjie

冒泡排序

典型的排序方法,命名來自魚呼吸時(shí)吹出的氣泡,上層的氣泡總是最大的。

思路:兩層循環(huán),內(nèi)層循環(huán)對(duì)比相鄰兩個(gè)數(shù)據(jù)(j,j+1),假設(shè)j > j + 1則交換元素位置。
外層循環(huán)為長度限制,在內(nèi)層第一次循環(huán)完成后減少長度1(因?yàn)樽詈笠粋€(gè)泡已經(jīng)固定,為這個(gè)數(shù)組的最大值)

function bubbleSort(arr){
  for(let i = 0; i < arr.length - 1; i++){
    let flag = false;
    for(let j = 0; j < arr.length - i - 1; j++){
      if(arr[j] > arr[j + 1]){
          let temp = arr[j];
          arr[j] = arr[j+1];
          arr[j+1] = temp;;
          flag = true;
      }
    }
    if(!flag){
      break;
    }
  }
  return arr;
}

加一個(gè)標(biāo)志位flag,如果沒有進(jìn)行交換,將標(biāo)志位置為false,表示排序完成。

時(shí)間復(fù)雜度O(n^2),最優(yōu)情況下是O(n)

空間復(fù)雜度O(1)

選擇排序

顧名思義,每次都選擇最小的,然后交換位置

思路:兩層循環(huán),內(nèi)層循環(huán)為選取第一個(gè)位置的值,然后將它與剩下的值作對(duì)比,得到比它小的則交換位置。外層循環(huán)為控制第一位值的固定(一次循環(huán)后,第一位則為該數(shù)組最小的值,下一次循環(huán)不必帶上)。

function selectionSort(arr){
  for(let i = 0; i < arr.length - 1; i++){
    let index = i;
    for(let j = i+1; j < arr.length; j++){
    //判斷是否有小于當(dāng)前值,有則交換位置
      if(arr[index] > arr[j]){
        index = j;
      }
    }
      let temp = arr[i];
      arr[i] = arr[index ];
      arr[index] = temp;
  }
  return arr;
}

時(shí)間復(fù)雜度:O(n^2),屬于不穩(wěn)定的算法(每次交換之后,它都改變了后續(xù)數(shù)組的順序)

空間復(fù)雜度:O(1)

快速排序

思路:二分法,先找一個(gè)基數(shù),分隔出以基數(shù)為界的左右兩個(gè)數(shù)組,然后遞歸重復(fù)這個(gè)步驟,直到分組剩余一個(gè)數(shù),則我們認(rèn)為已經(jīng)排列完成。

function quickSort(arr){
  if(arr.length <= 1){
    return arr;
  }
  let temp = arr[0];
  const left = [];
  const right = [];
  for(var i = 1; i < arr.length; i++){
    if(arr[i] > temp){
      right.push(arr[i]);
    }else{
      left.push(arr[i]);
    }
  }
  return quickSort(left).concat([temp], quickSort(right));
}

時(shí)間復(fù)雜度:O(n*logn),屬于不穩(wěn)定的算法,特殊情況下會(huì)是O(n^2)

空間復(fù)雜度:輔助空間是logn,所以空間復(fù)雜度為O(logn)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/109965.html

相關(guān)文章

  • 用最科學(xué)的方法展示最形象的圖表——前段數(shù)據(jù)可視化選型實(shí)踐

    摘要:提供的圖表的確可以滿足大部分的需求,遵循了數(shù)據(jù)可視化的一些經(jīng)典范式。數(shù)據(jù)可視化已然成為了新的風(fēng)向標(biāo)。數(shù)據(jù)團(tuán)隊(duì)的前端要做的就是用最科學(xué)的方法向用戶展示最形象的圖表,而這,也是我們前行的目標(biāo)。 前言 也許很多人都會(huì)覺得奇怪,在這樣一個(gè)更多以后臺(tái)數(shù)據(jù)分析為主的公司,為什么需要一個(gè)專注于前端的團(tuán)隊(duì)?今天這篇文章就來講述那些年我們錯(cuò)過的前端數(shù)據(jù)可視化,以此來解答這個(gè)問題。 需求 那么,在我們的項(xiàng)...

    Eminjannn 評(píng)論0 收藏0
  • Flutter 會(huì)不會(huì)被蘋果限制其發(fā)展_,移動(dòng)智能終端開發(fā)報(bào)告

    摘要:到如今都沒有官方支持熱更新,這大概也是為了應(yīng)用不受蘋果審核條款的忌憚,一旦支持了熱更新,那在過審核的時(shí)候可能就會(huì)沒那么容易了,所以熱更新對(duì)于在平臺(tái)的存亡是一個(gè)重要因素。 再說風(fēng)險(xiǎn)1、和 react-native 、weex 、uni-app 、taro 等平臺(tái)不同,flutter framework 的大部分控...

    不知名網(wǎng)友 評(píng)論0 收藏0
  • 2019 新年第一場 AI 口水仗正在 Twitter 進(jìn)行

    摘要:超神經(jīng)新年里,人工智能領(lǐng)域的第一場口水戰(zhàn)已經(jīng)在打響,這次的主題是由媒體網(wǎng)站的一個(gè)失誤所引發(fā)的。這次親自上場撕的主人公是,雖然不如第一梯隊(duì)的幾位大佬著名,但她也是在機(jī)器學(xué)習(xí)領(lǐng)域里舉足輕重的人物。 By 超神經(jīng)2019 新年里,人工智能領(lǐng)域的第一場口水戰(zhàn)已經(jīng)在 Twitter 打響,這次的主題是由媒體網(wǎng)站 Venturebeat 的一個(gè)失誤所引發(fā)的。這場口水戰(zhàn)中,包括 Yann LeCun...

    jay_tian 評(píng)論0 收藏0
  • 右腦編程法--左腦是基礎(chǔ)(4)之語言篇

    摘要:據(jù)統(tǒng)計(jì),編程語言排名前三。還是在知乎上,有好事之徒貼了兩個(gè)圖,我覺得頗為形象,在此與大家分享。上一篇右腦編程左腦是基礎(chǔ)之邏輯篇下一篇右腦編程法左腦是基礎(chǔ)回顧篇 前段時(shí)間出差了,所以沒有及時(shí)更新寫作內(nèi)容。幸好關(guān)注的人還不是特別多,我的壓力不算大,自我安慰一下下。 今天我們終于切到一個(gè)程序猿/媛職業(yè)中最基本,也是最重要的部分了,那就是編程語言。對(duì)于不會(huì)編程的人來說,這個(gè)部分是最為神秘的。...

    Lorry_Lu 評(píng)論0 收藏0
  • 右腦編程法--左腦是基礎(chǔ)(4)之語言篇

    摘要:據(jù)統(tǒng)計(jì),編程語言排名前三。還是在知乎上,有好事之徒貼了兩個(gè)圖,我覺得頗為形象,在此與大家分享。上一篇右腦編程左腦是基礎(chǔ)之邏輯篇下一篇右腦編程法左腦是基礎(chǔ)回顧篇 前段時(shí)間出差了,所以沒有及時(shí)更新寫作內(nèi)容。幸好關(guān)注的人還不是特別多,我的壓力不算大,自我安慰一下下。 今天我們終于切到一個(gè)程序猿/媛職業(yè)中最基本,也是最重要的部分了,那就是編程語言。對(duì)于不會(huì)編程的人來說,這個(gè)部分是最為神秘的。...

    hightopo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<