본문 바로가기

스크래치퀵정렬2

스크래치COS-이진검색 스크래치 COS -이진검색 스크래치COS 코딩시험에서 알고리즘의 가장 핵심적인 부분이 변수, 반복문, 조건, 함수이다. 코딩에서 가장 기본이 되는 알고리즘 중 검색 알고리즘에 대해 알아보겠다. 이전 글에 선형검색에 대해서 알아보았다. 스크래치COS-선형검색 이제는 이진검색에 대해서 알아보겠다. 이진검색은 리스트의 데이터가 먼저 정렬이 되어 있어야 한다. 정렬된 데이터를 기준으로 반을 나누어 가면서 검색한다. 아래 만일 9를 찾는다고 하면 7개의 데이터 수에서 반의 위치는 4와 찾고자 하는 값 9와 비교를 한다. num : 정렬된 리스트 n = 9 if num(4) < n (7 < 9, true) 오른쪽의 데이터에서 찾을 것이다. 1 3 5 7 9 11 13 i if num(6) < n (11 < 9, f.. 2022. 8. 12.
스크래치COS-퀵정렬 스크래치 COS -퀵정렬 스크래치COS 코딩시험에서 알고리즘의 가장 핵심적인 부분이 변수, 반복문, 조건, 함수이다. 코딩에서 가장 기본이 되는 알고리즘 중 또다른 것은 정렬이다. 때로는 빠른 검색을 위해 정렬이라는 절차를 수행할 필요가 있다. 이번 글에서는 퀵정렬 알고리즈을 스크래치로 구현해볼 것이다. 퀵정렬 알고리즘의 작동 방법은 divide and conquer로 이루어진다. divide는 pivot을 선택하고, pivot보다 작으면 왼쪽으로, 큰 값은 오른쪽으로 나눕닏. conquer는 왼쪽에 있는 리스트와 오른쪽에 있는 리스트를 정렬한다. 퀵정렬 예제로 리스트 {21 12 4 2 7} 가 있다. 마지막 갑을 piivot으로 잡는다. 여기서는 7를 pivot으로 잡고 작은 갑은 왼쪽으로 큰 값은 .. 2022. 8. 11.