ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정렬알고리즘
    개발/알고리즘 2021. 4. 3. 15:39

    1. 선택정렬 O(n2) 

    맨앞부터 그이후값중 가장 작은 값을 찾아간다음 맨첫번째 index의 값과 swap. 맨처음 index를 제외한 나머지 값들도 같은 과정을 거친다. 장점 : 구현하기 어렵지 않다. 

    단점: 퍼포먼스가 좋지 않음

    실행 결과

    2. 삽입정렬 

    결과 

    3. 병합정렬 

    정렬할 리스트를 반으로 나눠지지 않을때까지 반으로 나누고 순환 호출을 이용하여 합병 정렬 후 다시 합치는것이다. 

    분할 => 정복 

    실행 결과 

    4. 퀵정렬

    기준이 되는 값을 정하고 (피벗) 피벗 앞에는 피벗보다 값이 작은 값들이 오고 피벗 뒤에는 피벗보다 큰 값들이 오도록 둘로 나눈다. (분할) 

    분할된 리스트에 대해 나눌수 없을때까지 재귀적으로 이 과정을 반복한다. 

    장점 : 빠른 수행 속도

    '개발 > 알고리즘' 카테고리의 다른 글

    [LeetCode] Two Sum (easy / javascript)  (0) 2021.06.11
    재귀 (Recursion)  (0) 2021.04.10
    [Codility] Binary Gap (javascript)  (0) 2021.04.08
    [정렬] K번째수  (0) 2021.04.03
    [DFS/BFS] 타겟 넘버  (0) 2021.04.03
Designed by Tistory.