Python의 선형 검색

Harshit Jindal 2023년1월30일
  1. 선형 검색 알고리즘
  2. 선형 검색 Python 구현
Python의 선형 검색
노트
Linear Search에 대한 자세한 내용은 순차 검색 알고리즘 문서를 참조하세요.

선형 검색 알고리즘

n요소를 포함하는 정렬되지 않은 배열A[]가 있다고 가정하고,X요소를 찾으려고합니다.

  • for루프를 사용하여 가장 왼쪽 요소부터 시작하여 배열 내부의 모든 요소를​탐색하고 다음을 수행합니다.
    • A[i]의 값이X와 일치하면 인덱스i를 반환합니다. (X와 일치하는 여러 요소가있을 수있는 경우 색인i를 반환하는 대신 모든 색인을 인쇄하거나 모든 색인을 배열에 저장하고 해당 배열을 반환합니다.)
    • 그렇지 않으면 다음 요소로 이동합니다.
    • 배열의 마지막 요소에 있으면for루프를 종료합니다.
  • 일치하는 요소가 없으면-1을 반환합니다.

선형 검색 Python 구현

def linearsearch(arr, n, x):

    for i in range(0, n):
        if arr[i] == x:
            return i
    return -1


arr = [1, 2, 3, 4, 5]
x = 1
n = len(arr)
position = linearsearch(arr, n, x)
if position == -1:
    print("Element not found !!!")
else:
    print("Element is present at index", position)

출력:

Element is found at index: 1

위 알고리즘의 시간 복잡도는O(n)입니다.

Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn

관련 문장 - Python Algorithm