알고리즘#퀵정렬

Algorithm/알고리즘 패러다임

[Divide and Conquer] 퀵 정렬 구현하기

실습 설명 Divide and Conquer 방식으로 quicksort 함수를 써 보세요. quicksort는 파라미터로 리스트 하나와 리스트 내에서 정렬시킬 범위를 나타내는 인덱스 start와 인덱스 end를 받습니다. merge_sort 함수와 달리 quicksort 함수는 정렬된 새로운 리스트를 리턴하는 게 아니라, 파라미터로 받는 리스트 자체를 정렬시키는 것입니다. swap_elements와 partition 함수는 이전과제에서 작성한 그대로 사용하면 됩니다! quick_sort.py # 두 요소의 위치를 바꿔주는 helper function def swap_elements(my_list, index1, index2): # 지난 실습의 코드를 여기에 붙여 넣으세요 my_list[index1], m..

Algorithm/알고리즘 패러다임

[Divide and Conquer] partition 함수 구현하기

실습 설명 partition 함수를 작성하세요. partition 함수는 리스트 my_list, 그리고 partition할 범위를 나타내는 인덱스 start와 인덱스 end를 파라미터로 받습니다. my_list의 값들을 pivot 기준으로 재배치한 후, pivot의 최종 위치 인덱스를 리턴해야 합니다. 예시 1 Pivot(기준점)은 마지막 인덱스에 있는 5. list1 = [4, 3, 6, 2, 7, 1, 5] pivot_index1 = partition(list1, 0, len(list1) - 1) print(list1) print(pivot_index1) [4, 3, 2, 1, 5, 6, 7] 4 5보다 작은 값들은 왼쪽에, 5보다 큰 값들은 오른쪽에 배치됩니다. 예시 2 Pivot(기준점)은 마지막..

달려라 국나뇽
'알고리즘#퀵정렬' 태그의 글 목록