정렬(Sort) 대상이 갖고 있는 특성을 기준으로 나열하는 것 정렬 종류 1. 버킷 정렬 : 최대 값의 갯수만큼 데이터를 저장하고 정렬 2. 기수 정렬 : 숫자의 각 자리를 기준으로 차례대로 데이터를 정렬한다. 3. 단순 선택 정렬 : 데이터 중 최소 값 또는 최대 값을 찾아, 첫 번째 요소(또는 마지막 요소)와 교환한다. 4. 단순 교환 정렬(버블 정렬) : 서로 이웃한 데이터끼리 크고 작음을 비교해서 올바른 위치로 데이터를 이동시킨다. 5. 단순 삽입 정렬 : 정렬한 데이터를 이미 정렬된 데이터들 사이의 올바른 위치에 삽입한다. 6. 셸 정렬 : 정렬할 데이터들을 일정한 개수의 그룹으로 묶어서 정렬한다.(그룹으로 묶은 다음, 그룹 안에서 정렬) 7. 병합 정렬 : 정렬할 데이터를 반으로 자르고, 자른..
자료구조 대량 데이터를 효율적으로 관리하는 구조 ex. 우편번호 자료구조 종류 1. 배열(Array) : 데이터를 빈틈없이 나열한 자료구조 2. 리스트(List) : 데이터를 순서대로 나열한 자료구조 3. 스택(Stack) : 데이터를 넣는 순서와 반대의 순서로 데이터를 꺼내는 데이터 관리 방법 4. 큐(Queue, 대기행렬) : 데이터를 넣는 순서대로 데이터를 꺼내는 데이터 관리 방법 5. 트리(Tree) : 나뭇가지가 나뉘듯 퍼져나가는 자료구조 스택(Stack) 데이터를 쌓아서 관리하는 방식 데이터를 넣는(쌓는) 작업 : PUSH 데이터를 꺼내는 작업 : POP 마지막에 입력한 데이터가 먼저 출력 LIFO(Last In, First Out) 또는 FILO(First in, Last Out) 라고 부른..
알고리즘이란 문제 해결을 위한 처리 절차 알고리즘은 정당성(주어진 과제에 대해 올바른 결과를 반환해야 한다.) 과 정지성(언젠가 반드시 정지해야 한다)이 있어야 한다. 알고리즘의 종류 1. 기술 계산 2. 정렬(sort) : 오름차순 또는 내림차순으로 정렬하는 알고리즘 3. 검색(search) : 많은 양의 데이터 중에서 원하는 데이터를 찾아내기 위한 알고리즘 4. 문자열 패턴 매칭 변수와 배열 알고리즘은 데이터의 형태로 입력되고 데이터의 형태로 출력된다. 데이터 : 다양한 정보를 표현한 것 알고리즘도 다양한 데이터를 이용한다. 모든 데이터에는 타입이 있다. 1. 정수(int) 타입 2. 실수(float) 타입 3. 문자(char) 타입 4. 문자열(string) 타입 5. 논리(boolean) 타입 데..