Python/파이썬 자료구조 알고리듬

31. 자체 정렬 데이터 (self-organized data)

컴닥 2019. 6. 25. 18:17
반응형

 

자체 정렬 데이터 (self-organized data)

 

순차 검색 시
자주 검색하는 데이터를 앞부분에 저장해
검색 속도를 높이는 방법입니다. 

 

검색될 때마다 앞쪽으로 한 칸씩 교환해 주면 됩니다. 

 

 

def search(item):
    for idx, element in enumerate(array):
        if element == item and idx > 1:
            array[idx], array[idx - 1] = array[idx-1], array[idx]
            print(idx-1, element)
            return idx-1
    print('False')
    return False

array = [4, 10, 0, 14, 5, 8, 15, 19, 9, 3, 2, 1, 12, 17, 16, 7, 13, 6, 18, 11]
search(11)
print(array)
search(11)
print(array)
search(11)
print(array)
18 11
[4, 10, 0, 14, 5, 8, 15, 19, 9, 3, 2, 1, 12, 17, 16, 7, 13, 6, 11, 18]
17 11
[4, 10, 0, 14, 5, 8, 15, 19, 9, 3, 2, 1, 12, 17, 16, 7, 13, 11, 6, 18]
16 11
[4, 10, 0, 14, 5, 8, 15, 19, 9, 3, 2, 1, 12, 17, 16, 7, 11, 13, 6, 18]

 

반응형