sort

1. Bucket Sort?- Bucket Sort는 데이터를 일정한 범위로 나눈 여러 버킷에 분배하고,- 각 버킷 내부에서 정려한 후 각 버킷을 합쳐서 전체 데이터를 정렬하는 알고리즘이다.- 마치 다음 그림과 같다. - 그림을 보면 알 수 있겠지만,- 데이터가 특정 범위 안에서 균등하게 분포된 경우 매우 효율적으로 작동한다.- 주로 0과 1사이의 실수나 버뮈가 제한된 정수를 정렬할 때 사용된다. 2. Bucket Sort의 알고리즘i) 버킷 분할:- 데이터를 특정 구간으로 나누어 각 구간을 '버킷'이라고 정의한다.- 이때 버킷의 개수는 데이터의 분포에 따라 적절히 설정하는 것이 중요하다. ex) 데이터가 0과 1사이의 실수라면 각 버킷은[0,0.1) , [0.1,0.2), ... , [0.9,1)로 설..
1. Bubble Sort? - 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘--> 인접한 2개의 노드를 비교하여 크기순으로 서로 교환을 해준다. 2. 더 자세히!- 버블 정렬은 인접된 두 노드, 즉 (첫 번째, 두번째),(두 번째, 세 번째),(세 번째,네 번째)... 이런 식으로마지막 노드를 비교하여 교환하면서 데이터를 정렬한다.- 그림을 보면 더 쉽게 이해가능하다.- 반대로 마지막 부터 시작으로 역순으로 버블이 움직여도 괜찮다.(CLRS에선 역순으로 움직인다.) 3. Code(Python)def bubble_sort(arr,n): for i in range(n): for j in range(n,i,-1): if arr[j]  4. Bubble Sort의 시간..
1. Introduction- 알고리즘은 다양하게 선택가능하다. - 예를들어 Insertion Sort는 Incremental method(증분 방법)을 사용한다.- 이번 챕터에선 분할 정복(divide and conquer) 이라는 설계 방법을 간단하게 다루게 된다. - 자세한 방법은 챕터 4때 알아보도록 하자. 2. Divide and Conquer(분할 정복)- 많은 유용한 알고리즘들은 재귀적(recursive) 구조를 가지고 있음.- 주어진 문제를 해결하기 위해, 이들은 스스로 한번 이상 호출하여 하위문제들을 해결함- 일반적으로 분할 정복(Divide & Conquer)을 따름- 문제를 원래 문제와 유사하지만 더 작은 크기의 여러 하위 문제로 나누고, - 하위 문제를 재귀적으로 해결한 뒤 이러한 ..
23학번이수현
'sort' 태그의 글 목록