algorithm

    [python](알고리즘) quickSort 퀵정렬(랜덤 피봇) 구현

    [python](알고리즘) quickSort 퀵정렬(랜덤 피봇) 구현

    quickSort 구현 랜덤 피봇 방법(random pivot) import random def swap(array, i, j): #array[i] 값과 array[j] 값 swap 함수 tmp = array[i] array[i] = array[j] array[j] = tmp def quick_sort(array, start, end): #랜덤피봇의 퀵정렬 if start >= end: #원소가 1개인 경우 return else: p = partition(array, start, end) #기준 피봇 결정 quick_sort(array, start, p-1) #피봇기준 왼쪽 부분 재귀호출 quick_sort(array, p+1, end) #피봇기준 오른쪽 부분 재귀호출 return array def pa..

    [python] (알고리즘) binarySearch (이진탐색) 구현

    [python] (알고리즘) binarySearch (이진탐색) 구현

    binarySearch (이진탐색) 구현 코드 #이진탐색 data = [2, 11, 19, 27, 30, 31, 45, 121] n = int(input(&#39;검색할 데이터를 입력하세요: &#39;)) l = 0 #검색할 데이터 리스트의 첫번째 인덱스 h = len(data)-1 #검색할 데이터 리스트의 마지막 인덱스 count = 0 #검색 비교 횟수 isFlag = False #데이터 검색의 성공 여부 while(l data[m]: l = m + 1 elif n < data[m]: h = m - 1 #count 위치 유의 count += 1 # 비교횟수를 증가 print("{} 번 비교했습니다".format(count)) if isFlag: print("검색 완료!, 입력된 데이터 {}의 인덱스는..