iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
JavaScript

Web仔常見的面試問題 系列 第 19

Day-19 基本演算法和數據結構問題

  • 分享至 

  • xImage
  •  

confront v. 面對
It's an issue we'll have to confront, no matter how unpleasure it is.

快速排序 quick sort

  1. 透過分治法高效率排序
  2. 選擇基準值(pivot)
  3. 將其他值和基準值比較
  4. 小於基準值的放左,大於基準值的放右,這時會得到兩個子數列
  5. 對這兩個子數列,重複上述 2~4

合併排序 merge sort

  1. 對原始數列不斷地進行分割,直到每個子數列只包含一個數或為空
  2. 將排好的各部分合併新的數列
  3. 在合併過程中也會排序

二元搜尋 binary search

先定義[左邊界(leftIdx),右邊界(rightIdx)]
接著從已排序的陣列中切一半,取中間值
並將**中間值(middle)目標數字(target)**比大小

比較會有三個結果 a,b,c
a.
如果中間值目標值
則左邊界=middleIdx+1,右邊界不變
下一次比較的數量就少了左邊那一半
b.
如果中間值目標值
則左邊界不變,右邊界=middleIdx-1
下一次比較的數量就少了右邊一半
c.
如果中間值等於目標值
中間值就是答案

只要沒出 c, 就繼續比較下去


上一篇
Day-18 基本算法和數據結構問題
下一篇
Day-20 基本演算法和數據結構問題
系列文
Web仔常見的面試問題 23
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言