sorting 은 오름차순인 내림차순으로 데이터 세트를 리스트로 정렬하는 것!
sorting 은 데이터를 찾을 때 필요하다!! (만약 영어 사전이 정렬이 안되어 있다고 생각하면 뭔가 뜻을 찾거나 할 때 굉장히 힘듦. )
데이터가 저장되는 곳을 record 라고 부른다. 말 그대로 기록!
Record 는 여러 개의 필드로 구성되어 있음.
그 중에서 key 필드가 여러 레코드 중에서 그 특별한 한 개를 인식하는데에 쓰이게 됨.
모든 케이스들에 완벽히 적용되는 황금율같은 것은 존재하지 않는다! 따라서 몇 개의 case 중 우선순위를 정해서 그것에 적합한 알고리즘을 설계해야 함.
Sorting 알고리즘에서 고려해야 하는 케이스들은 다음과 같음.
레코드(데이터)의 개수
레코드의 크기 (하나의 레코드의 길이)
키의 특징들 (문자인지 정수인지 실수인지 등등)
부가 메모리를 쓸 것인지 말 것인지. Internal memory sorting 은 부가 메모리를 사용하지 않는 것이고, external memory sorting 은 외부 메모리를 사용하는 것이다!
분류 알고리즘의 평가 기준 두 가지
분류 알고리즘