๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐ŸŽ› Others.../- ์ž๋ฃŒ๊ตฌ์กฐ & ์•Œ๊ณ ๋ฆฌ์ฆ˜

[์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ก ] ์ด์ง„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž๋ฐ”๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ:: Binary Search Algorithm implementing by java

by Wonit 2020. 6. 20.
package algorithm.class01_BinarySearch;

import java.util.Arrays;

public class Prob00_MyBS {
    public static void main(String[] args) {
        int[] arr = {5,1,23,11,4,15,2,3,55,7};
        // 1, 2, 3, 4, 5, 6, 7, 8, 9
        int key = 1;

        Arrays.sort(arr);
        int loop = binarySearch_Loop(arr, key);
        int recursion = binarySearch_Recursion(arr, key, 0, arr.length-1);

        System.out.println("index : " + loop +  " ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ");
        System.out.println("index : " + recursion + " ์žฌ๊ท€ ํ˜ธ์ถœ ์‚ฌ์šฉ");

    }

    static int binarySearch_Loop(int[] arr, int key){
        int start = 0;
        int end = arr.length - 1;

        while (start <= end) {
            int mid = (start + end) / 2;

            if (arr[mid] > key) { // ํ‚ค๊ฐ€ ์ค‘๊ฐ„ ๊ฐ’ ๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ
                // end ๋ฅผ mid ๋กœ
                end = mid - 1;
            }else if (arr[mid] < key) { // ํ‚ค๊ฐ€ ์ค‘๊ฐ„ ๊ฐ’ ๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ
                // start ๋ฅผ mid ๋กœ
                start = mid + 1;
            }else { // arr[mid] == key
                return mid;
            }

        }
        return start - 1;
    }

    static int binarySearch_Recursion(int[] arr, int key, int start, int end){
        int mid = (start + end) / 2;
        if(arr[mid] < key) return binarySearch_Recursion(arr, key, mid + 1, end);
        else if(arr[mid] > key) return binarySearch_Recursion(arr, key, start, end - 1);
        return mid;
    }
}


'๐ŸŽ› Others... > - ์ž๋ฃŒ๊ตฌ์กฐ & ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ž๋ฃŒ ๊ตฌ์กฐ] ํž™ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์ตœ์†Œ ํž™์˜ ์‚ฝ์ž…, ์‚ญ์ œ ์—ฐ์‚ฐ ๊ตฌํ˜„:: (Heap Data Structure & Min Heap's Insertion, Delete implementation by java)  (0) 2020.06.23
[์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ก ] ๋ณ‘ํ•ฉ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž๋ฐ”๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ :: Merge Sort Algorithm implementing by java  (0) 2020.06.20
[์ž๋ฃŒ ๊ตฌ์กฐ] - ํŠธ๋ฆฌ ์ž๋ฃŒ ๊ตฌ์กฐ (4)-์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ์ž๋ฐ”๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ :: Binary Search Tree implementation by java  (2) 2020.06.18
[์ž๋ฃŒ ๊ตฌ์กฐ] - ํŠธ๋ฆฌ ์ž๋ฃŒ ๊ตฌ์กฐ (3)-์ด์ง„ ํŠธ๋ฆฌ์™€ ์ข…๋ฅ˜(์™„์ „, ํฌํ™”, ์™„๋ฒฝ, ๊ท ํ˜•) :: Binary Tree (Full, Complete, Perfect, Balanced)  (3) 2020.06.18
[์ž๋ฃŒ ๊ตฌ์กฐ] - ํŠธ๋ฆฌ ์ž๋ฃŒ ๊ตฌ์กฐ(2)-ํŠธ๋ฆฌ์˜ ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS)๊ณผ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS) :: Tree-Search (Breadth-First Search, Depth-First Search)  (0) 2020.06.18

๋Œ“๊ธ€