더북(TheBook)


1.1선형 탐색 알고리즘


우리가 다룰 데이터를 리스트라고 하겠습니다. 선형 탐색은 리스트의 처음부터 끝까지 순회하면서 대상(target) 데이터를 찾습니다.

코드 15-1 algorithm/algo_1/linear_search.py

def linear_search(data, target):
    for idx in range(len(data)):
        if data[idx] = = target: #1
            return idx
    return None

if __name__ = = "__main__":
    data = [i ** 2 for i in range(1, 11)]

    target = 9
    idx = linear_search(data, target)

    if idx = = None:
        print("{}이 존재하지 않습니다".format(target))
    else:
        print("찾는 데이터의 인덱스는 {}이고 데이터는 {}입니다.".format(idx, data[idx]))

실행결과 찾는 데이터의 인덱스는 2이고 데이터는 9입니다.


for 문으로 순회하면서 리스트 안에 있는 모든 데이터와 대상 데이터를 비교합니다(코드에 대한 설명은 생략하겠습니다).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.