선형(순차) 탐색

처음부터 끝까지 순차적으로 탐색하는 알고리즘

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

이진 탐색

데이터가 정렬되어 있을 때 가운데를 중심으로 크기를 비교하여 범위를 반으로 줄여가며 탐색하는 알고리즘

def binary_search(data, search):
    print (data)
    if len(data) == 1 and search == data[0]:
        return True
    if len(data) == 1 and search != data[0]:
        return False
    if len(data) == 0:
        return False
    
    medium = len(data) // 2
    if search == data[medium]:
        return True
    else:
        if search > data[medium]:
            return binary_search(data[medium+1:], search)
        else:
            return binary_search(data[:medium], search)

트리 구조를 이용한 탐색 알고리즘

자료구조가 이진 탐색 트리인 경우

BFS

DFS

Dijkstra

Tags:

Categories:

Updated: