'리스트'에 해당하는 글 2건

정렬이란?

· 크기 순서에 무관하게 나열된 데이터를 크기 순서대로 다시 나열하는 작업.

· 데이터를 탐색하는데 반드시 필요한 작업.

· 크기가 커지는 순서로 정렬 → 오름차순 정렬.

· 크기가 작아지는 순서로 정렬 → 내림차순 정렬.

 

정렬 알고리즘의 효율을 평가하는 기준

· 비교횟수

· 데이터의 이동횟수

· 사용되는 메모리의 양

 

내부 정렬이란?

레코드를 모두 메모리 안으로 읽어 들여 리스트를 정렬하는 것.

* 레코드 : 정렬해야 할 대상.

* 리스트 : 레코드의 집합.

 

내부 정렬 방법

· 기본 정렬 방법 : 삽입 정렬, 선택 정렬, 버블 정렬.

· 성능 개선 방법 : 퀵 정렬, 합병 정렬, 쉡 정렬, 힙 정렬, 기수 정렬. 

 

외부 정렬이란?

외부 기억장치에 있는 레코드의 집합인 파일을 대상으로 레코드를 정렬하는 것.

* 파일 : 외부(보조)기억장치에 저장되는 레코드의 집합.

 

내부 정렬과 외부 정렬의 비교

· 내부 정렬은 메모리 안에서 정렬이 이루어지기에 접근 속도가 빠른 반면 외부 정렬은 상대적으로 접근 속도가 매우 느림.

· 용량의 차이는 내부 정렬이 메모리를 사용하기에 외부 정렬보다 상대적으로 매우 적다.

· 내부 정렬에서 레코드들을 비교 및 이동하는데 걸리는 시간은 메모리 접근 빈도수에 비례, 외부 정렬에서는 블럭 위의 파일 접근 빈도수에 비례.

· 내부 정렬의 효율은 데이터의 비교나 이동횟수를 줄임으로써 향상, 외부 정렬은 파일 I/O 횟수를 줄이는 것이 정렬시간을 줄이는 역할.

 

 

[출처] 정렬 탐색 프로그래밍

'프로그래밍 > 알고리즘' 카테고리의 다른 글

순차 탐색(Sequential Search)이란?  (0) 2017.10.18
탐색(Search)이란?  (0) 2017.10.18
선택 정렬(Selection Sort)  (0) 2017.10.08
회문(Palindrome) 찾기  (0) 2017.10.07
삽입 정렬(Insert Sort)  (0) 2017.10.04

WRITTEN BY
김치치즈스마일
세계정복!

,

리스트란?

· 자료를 순서대로 저장하는 자료구조.

· 순서대로라는 의미는 차려대로 한 줄로 연결된 구조라는 의미. 즉, 선형 구조이다.

리스트의 종류

· 배열 리스트

· 연결 리스트

 

배열 리스트란?

· 배열을 사용해서 구현된 리스트.

· '물리적으로 연속해 있는' 배열을 사용하여 '논리적으로 연속해 있는' 리스트를 구현한 것.

 

 

 

 

배열 리스트의 장점

물리적 주소를 바로 계산할 수 있기 때문에 리스트의 특정 위치에 바로 접근할 수 있음.

 

배열 리스트의 단점

· 배열의 길이는 정해져 있음.

· 삽입이나 삭제 시 데이터의 이동 및 복사가 자주 일어나며 저장 범위를 넘어설 수 있음.

 

 

 

 

 

 

 

 

'프로그래밍 > 자료구조' 카테고리의 다른 글

자료구조(data structure)란?  (0) 2017.08.22

WRITTEN BY
김치치즈스마일
세계정복!

,