Guest User

Untitled

a guest
Nov 24th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. /**
  2. * 이진 탐색 ( binary search )
  3. * @param {array} list - Sorted Array.
  4. * @param {*} item - The key for search.
  5. * @returns {number} idx - Index of key in array. -1 means "can't find the key."
  6. */
  7. function binary_search(list, item) {
  8. // init
  9. var idx = -1;
  10. var low = 0;
  11. var high = list.length - 1;
  12.  
  13. var mid = 0;
  14. var guess = 0;
  15.  
  16. while (low <= high) {
  17. mid = Math.ceil((low + high) / 2);
  18. guess = list[mid];
  19.  
  20. if (guess == item) {
  21. return mid;
  22. } else if (guess > item) {
  23. high = mid - 1;
  24. } else {
  25. low = mid + 1;
  26. }
  27. }
  28. return -1; // 못찾음
  29. }
Add Comment
Please, Sign In to add comment