[자료구조] 정렬의 종류와 탐색

 1  [자료구조] 정렬의 종류와 탐색-1
 2  [자료구조] 정렬의 종류와 탐색-2
 3  [자료구조] 정렬의 종류와 탐색-3
 4  [자료구조] 정렬의 종류와 탐색-4
 5  [자료구조] 정렬의 종류와 탐색-5
 6  [자료구조] 정렬의 종류와 탐색-6
 7  [자료구조] 정렬의 종류와 탐색-7
 8  [자료구조] 정렬의 종류와 탐색-8
 9  [자료구조] 정렬의 종류와 탐색-9
 10  [자료구조] 정렬의 종류와 탐색-10
 11  [자료구조] 정렬의 종류와 탐색-11
 12  [자료구조] 정렬의 종류와 탐색-12
 13  [자료구조] 정렬의 종류와 탐색-13
 14  [자료구조] 정렬의 종류와 탐색-14
 15  [자료구조] 정렬의 종류와 탐색-15
 16  [자료구조] 정렬의 종류와 탐색-16
※ 미리보기 이미지는 최대 20페이지까지만 지원합니다.
  • 분야
  • 등록일
  • 페이지/형식
  • 구매가격
  • 적립금
자료 다운로드  네이버 로그인
소개글
[자료구조] 정렬의 종류와 탐색에 대한 자료입니다.
목차
1. 정렬의 종류
2. 알고리즘별 특성 / 속도 비교
3.  정렬의 방법
4. 기타 정렬
5. 탐 색
본문내용
1.1. 여기서 데이터 갯수가 5000개 일 때의 속도를 계산해보면
▷ 버블, 선택, 삽입 : O( n^2 ) = 25000000 ▷ 쉘 정렬 O(n^1.2) = 약 27464
▷ 퀵정렬 O(n log n) = 약 18495
이론상 가장 빠른 속도는 O(n log n)이다.
1.2. 위의 표를 보면 힙 정렬과 합병정렬이 모든 경우에 있어 가장 빠른 속도를 보이는 것을 알 수 있다. 하지만 추가적인 메모리 사용에 있어 힙 정렬이 더 유리하다. 그렇지만 힙 정렬이 모든 경우에 다 좋은 것은 아니다. 버블 정렬 같은 경우 간단한 알고리즘으로 인해 소스가 가장 짧지만 힙 정렬이나 합병정렬은 소스가 길어졌다. (소스코드에서 힙정렬과 병합정렬을 제외하고) 위의 값에서 보면 알겠지만, 퀵정렬이 가장 빠르고 다음이 쉘정렬, 나머지가 이론상으로는 제일 느리다. 하지만 이 값들은 정렬할 자료의 양이나 초기의 배열상태에 따라 다를 수가 있다. 바꿔 말해서 자료의 양이 한 10이고 몇 개밖에 안 흐뜨러져 있으면 오히려 퀵정렬의 속도가 다른 것보다 느려질 수 있다. 그래서 자신이 사용할 자료의 성격을 잘 파악한 뒤에 가장 효율적인 알고리즘을 선택해야 한다.  참고로 프로파일링을 해본 결과는 다음과 같다.(자료는 랜덤으로 생성시켰고, 갯수는 5000개이다.)