가장 첫번째로 배열의 중간 값을 기준으로 찾고자 하는 값 x와 비교한다.만약 x가 중간 값보다 크면 중간 값을 기준으로 우측을 탐색하고, x가 중간 값보다 작으면 좌측을 탐색한다.새로 갱신 된 탐색 영역에서 같은 방법으로 새로운 중간 값과 비교해 x를 찾을 때까지 이를
우선 정렬하고자 하는 데이터에서 pivot을 설정한다. pivot보다 큰 값은 pivot보다 우측에, 더 작은 값은 pivot보다 좌측에 위치한다. 그 다음, pivot을 기준으로 분할 된 각 영역에서 새로운 pivot을 찾은 후 또 다시 영역을 분할하는 것을 반복한다
병합 정렬은 분할 정복 개념을 이용한다. 정렬하고자 하는 데이터를 더 이상 나눠지지 않을 때까지 계속 둘로 나눠준 후, 더 이상 나눌 수 없으면 2개씩 합친다. 이때 합치고자 하는 두 배열 중 작은 데이터부터 합쳐준다.input = 2,5,4,3,1,8,7,6step1
☝ 힙 정렬은 정렬하고자 하는 데이터를 최소힙/최대힙 형태로 바꿔 순서대로 정렬하는 알고리즘이다. 🎫 개념 힙 정렬은 완전 이진트리 형태를 기반으로 한다.특히 우선 순위를 이용할 때 유용하게 쓰인다. 힙 구조엔 최소 힙과 최대 힙 2가지가 있는데, 최소 힙은 부모
우선 중복된 값의 개수를 세어준다. 그 다음 중복된 값의 개수들을 누적해서 다른 배열에 저장해준다. 마지막으로 값의 개수들이 저장된 배열을 차례대로 누적된 개수만큼 출력한다.양의 정수에 대해서만 적용이 가능하다.arr = 0,1,3,3,2,4,5,5,1,1,30이 1개
우선 정렬해야 하는 배열의 가장 작은 값을 첫번째 값으로 가정하고, 정렬을 반복하다보면 마지막으로 남은 값은 자동으로 제자리를 찾아가게 되므로 배열의 길이가 N일 경우, 가장 작은 값을 맨 앞으로 보내는 행위를 N-1번 반복한다. 이때 이중for문을 사용하여 정렬이
배열을 순회하며 해당 인덱스의 값이 정렬 시 위치해야 하는 인덱스에 값을 삽입하는 것이다.예를 들어 35, 47, 84, 15, 17, 22, 29 이라는 배열 arr이 있다고 하자.✔ step135, 47, 84, 15, 17, 22, 2935, 47, 84는 84