가수면

이진 탐색, 순차 탐색 본문

CS/CS

이진 탐색, 순차 탐색

니비앙 2023. 11. 10. 01:10

이진 탐색

def binarySearch(data, searchValue):
    if len(data) == 1 and searchValue == data[0]:
        return True
    if len(data) == 1 and searchValue != data[0]:
        return False
    if len(data) == 0:
        return False

    medium = len(data) // 2
    if searchValue == data[medium]:
        return True
    else:
        if searchValue > data[medium]:
            return binarySearch(data[medium + 1:], searchValue)
        else:
            # 리스트 슬라이싱에서 [:medium]는 medium을 포함하지 않음
            return binarySearch(data[:medium], searchValue)

순차 탐색

def sequencial(data_list, search_data):
    for index in range(len(data_list)):
        if data_list[index] == search_data:
            return index
    return -1

'CS > CS' 카테고리의 다른 글

다익스트라 알고리즘  (0) 2023.11.10
탐욕 알고리즘  (0) 2023.11.10
퀵 정렬 알고리즘  (0) 2023.11.09
동적 계획법  (0) 2023.11.09
선택 정렬 알고리즘  (0) 2023.11.09
Comments