선형 검색

수색
프로그래밍에서 이는 값 목록에서 주어진 값 위치를 찾는 프로세스입니다. 일상 생활에서 데이터 수집에서 무언가를 찾는 것과 같이 중요한 역할을 합니다. 사전에서 단어를 찾거나 군중에서 친구를 찾아야 할 수도 있습니다.

선형/순차 검색


  • 기본 단순 검색 알고리즘입니다
  • .
  • 순차 검색에서는 대상 값을 목록에 지정된 다른 모든 요소와 비교합니다.
    예를 들어
    arr = {18, 12, 19, 77, 29, 50} (정렬되지 않은 배열)
    대상 = 77

  • 위의 예에서 대상 값은 순차적/선형 방식으로 배열의 모든 요소와 비교됩니다.

    시간 복잡도:




    최선의 경우: O(1) -> 상수

    How many checks will the loop make in the best case i.e the element will be found at the 0th index that is only one comparison will be made for best case.
    

    최악의 경우: O(n)



     Worst case, here it will go through every element and then it says element not found
    



    public class Main {
    
        public static void main(String[] args) {
            int[] nums = {23, 45, 1, 2, 8, 19, -3, 16, -11, 28};
            int target = 19;
            int ans = linearSearch(nums, target);
            System.out.println(ans);
        }
         // search in the array: return the index if item found
        // otherwise if item not found return -1
        static int linearSearch(int[] arr, int target) {
            if (arr.length == 0) {
                return -1;
            }
    
            // run a for loop
            for (int index = 0; index < arr.length; index++) {
                // check for element at every index if it is = target
                int element = arr[index];
                if (element == target) {
                    return index;
                }
            }
            // this line will execute if none of the return statements above have executed
            // hence the target not found
            return -1;
        }
    
    }
    


    선형 검색으로 내 첫 번째 leetcode 질문을 해결했습니다. 확인해 보세요Even number of digits.
    선형 검색 알고리즘에 대한 자세한 설명은 이 멋진 toturial을 확인하십시오.
    쿠날 쿠슈와하

    언제든지 github 및 로 연락해 주세요. 감사합니다.

    좋은 웹페이지 즐겨찾기