알고리즘(5)
-
[알고리즘] 정렬 알고리즘 5. JavaScript 정렬 라이브러리
👉 JavaScript 정렬 라이브러리JavaScript에서는 배열에 포함된 데이터를 정렬하는 sort() 함수를 제공최악의 경우 시간 복잡도 O(NlogN)을 보장알고리즘 및 코딩 테스트 문제를 해결할 때 정렬 기능이 필요하다면, sort() 함수 사용 권장만약 sort()함수의 사용이 제한된다면, 병합 정렬과 같은 알고리즘을 직접 구현하여 사용👉 sort() 오름차순 예시 (내림차순은 b가 더 작게 표현)arr.sort(compareFunction)//정렬 기준 함수//오름차순function compareFunction(a, b){ if(a b) return 1; else return 0 // result 0 b가 우선순위가 높아, 앞에 위치한다. // 0 a와 b의 순서를 ..
2024.10.29 -
[알고리즘] 정렬 알고리즘 4. 병합 정렬 (다른 정렬보다 상대적으로 효율적)
👉 분할 정복(Divide and Conquer)분할(divide): 큰 문제를 작은 부분 문제(쉬운 문제)로 분할정복(conquer): 작은 부분 문제를 각각 해결조합(combine): 해결한 부분 문제의 답을 이용하여 다시 큰 문제를 해결일반적으로 재귀 함수를 이용하여 구현이유? 큰 문제를 작은 문제로 "분할하는 방식이 동일한" 경우가 많기 때문더 이상 쪼갤 수 없는 크기가 될 때까지 계속하여 분할분할 정복의 단점일반적으로 재귀 함수를 사용한다는 점에서 함수 호출 횟수가 많이 발생이는 오버헤드(overhead)로 이어진다. 👉 병합 정렬(Merge Sort)병합 정렬은 전형적인 분할 정복(divide and conquer) 알고리즘이다.시간 복잡도 O(NlogN)을 보장하는 빠른 알고리즘 중 ..
2024.10.28 -
[알고리즘] 정렬 알고리즘 3. 삽입 정렬
👉 삽입 정렬(Insertion Sort)삽입 정렬이란 각 숫자를 적절한 위치에 삽입하는 정렬 기법각 단계에서 현재 원소가 삽입될 위치를 찾는다.적절한 위치에 도달할 때까지 반복적으로 왼쪽으로 이동한다.매 단계에서 현재 처리 중인 원소가 삽입될 위치를 찾기 위해 약 N번의 연산이 필요결과적으로 약 N개의 단계를 거친다는 점에서 최악의 경우 O(N²)의 시간 복잡도를 가진다. 출처: https://fastcampus.co.kr/dev_online_upjscodingtest JavaScript 코딩테스트 131개 예제 & CS지식으로 끝내기 | 패스트캠퍼스25시간 대비 과정 / '코테 레전드' 유튜버 강사님께 핵심만 배우고 빠르게 합격하세요.fastcampus.co.kr
2024.10.28 -
[알고리즘] 정렬 알고리즘 2. 버블 정렬
👉 버블 정렬선택정렬보다 비효율성이 높음단순히 인접한 두 원소를 확인하여, 정렬이 안 되어 있다면 위치를 서로 변경한다서로 인접한 두 원소를 비교하는 형태가 거품과 같다고 하여 붙여진 이름시간 복잡도 O(N²)로 비효율적인 정렬 알고리즘 중 하나첫째와 둘째를 비교, 둘째와 셋째를 비교, 셋째와 넷째를 비교하는 방식~5단계까지 계속 반복한다.이미 정렬된 배열에 대해서 모든 비교가 필요하므로, 굉장히 비효율적인 정렬 알고리즘 중 하나 출처: https://fastcampus.co.kr/dev_online_upjscodingtest JavaScript 코딩테스트 131개 예제 & CS지식으로 끝내기 | 패스트캠퍼스25시간 대비 과정 / '코테 레전드' 유튜버 강사님께 핵심만 배우고 빠르게 합격하세요.fas..
2024.10.28 -
[알고리즘] 정렬 알고리즘 1. 선택정렬
👉 선택 정렬(Selection Sort)선택 정렬은 매 단계에서 가장 작은 원소를 선택해서 앞으로 보내는 정렬 방법앞으로 보내진 원소는 더 이상 위치가 변경되지 않음시간 복잡도 O(N²)로 비효율적인 정렬 알고리즘 중 하나 출처: https://fastcampus.co.kr/dev_online_upjscodingtest https://ko.wikipedia.org/wiki/%EC%84%A0%ED%83%9D_%EC%A0%95%EB%A0%AC 선택 정렬 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 선택 정렬(選擇整列, selection sort)은 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다. 주어진 리스트 중에 최소값을 찾는다. 그 값을 맨 앞에 위ko.w..
2024.10.28