본문 바로가기
반응형

sort3

[Javascript] 정렬(2) - 버블 정렬 (Bubble sort) 1. 버블 정렬(Bubble Sort) 단순히 인접한 두 원소를 확인하여, 정렬이 안되어 있다면 위치를 서로 변경 서로 인접한 두 원소를 비교하는 형태가 거품과 같다고 하여 붙여진 이름 시간 복잡도 O(N²)로 비효율적인 정렬 알고리즘 중 하나 1-1. 동작방식 각 단계에서는 인접한 두 개의 원소를 비교하여, 필요시 위치를 변경 첫째와 둘째를 비교, 둘째와 셋째를 비교하는 방식 한 번의 단계가 수행되면, 가장 큰 원소가 맨 뒤로 이동 따라서, 그 다음 단계에서는 맨 뒤로 이동한 데이터는 정렬에서 제외 * 각 단계를 거칠 때마다 가장 큰 값을 하나씩 확실하게 결정하는 것으로 이해할 수 있다. 1-2. 시간 복잡도 최악의 경우 시간 복잡도 O(N²)을 보장 이미 정렬된 배열에 대해서 모든 비교가 필요하므로,.. 2023. 11. 27.
[Javascript] 정렬(1) - 선택 정렬(sorting) 1. 선택정렬 (selection sort) 매 단계에서 가장 작은 원소를 선택해서 앞으로 보내는 정렬 방법 앞으로 보내진 원소는 더 이상 위치가 변경되지 않는다. 시간 복잡도 O(N²)로 비효율적인 정렬 알고리즘 중 하나 1-1. 동작 방식 각 단계에서 가장 작은 원소 선택 현재까지 처리되지 않은 원소들 중 가장 앞의 원소와 위치를 교체 1-2 시간 복잡도 매 단계에서 가장 작은것을 선택하는 데에 약 N번의 연산이 필요 (선형 탐색) 결과적으로 약 N개의 단계를 거친다는 점에서 최악의 경우 O(N²)의 시간 복잡도를 가진다. ex) 정렬할 배열 2 4 3 1 9 8 6 7 5 1단계 1 4 3 2 9 8 6 7 5 2단계 1 2 3 4 9 8 6 7 5 3단계 1 2 3 4 9 8 6 7 5 4단계 1.. 2023. 11. 27.
[PHP] Array 배열 정렬 (Array sort) 1. shuffle(배열) // 해당 배열을 완전히 뒤섞음 2. sort(배열) // 값을 기준으로 오름차순 정렬 3. rsort(배열) //값을 기준으로 내림차순 정렬 4. ksort(배열) // 키를 기준으로 오름차순 정렬 // 출력하게되면 Key=Ben, Value=37 Key=Joe, Value=43 Key=Peter, Value=35 5. krsort(배열) // 키를 기준으로 내림차순 정렬 6. asort(배열) // 배열의 키와 값은 건들지 않고 키순서를 오름차순 정렬 7. arsort(배열) // 배열의 키와 값은 건들지 않고 키순서를 내림차순 정렬 2023. 11. 23.
반응형