* 버블정렬 (Bubble Sort) 알고리즘 개념 - 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘입니다. - 2개를 비교해서 숫자 크기가 순서에 맞게 정렬이 되지 않을경우 서로 교환을 합니다. - 조금 더 구체적으로 이야기해서 첫번째 데이터는 두번째 데이터, 두번째 데이터는 세번째 데이터 이런 반복적인 방법으로 해서 마지막 데이터까지 비교를 하면 됩니다. - 첫번째 원소를 시작으로 인접한 원소끼리 계속 자리를 교환하면서 맨 마지막 자리로 이동하는 모습이 물방울 모 양 같다하여 버블정렬이라고 합니다. * 버블정렬 알고리즘의 장단점 1) 장점 - 구현이 매우 간단합니다. 2) 단점 - 순서에 맞지 않은 요소를 인접한 요소와 교환합니다. - 하나의 요소가 가장 왼쪽에서 가장 오른쪽으로 이동하기 위해서는..
* 선택정렬 (Selection Sort) 알고리즘 개념 - 제자리 정렬(in-place sorting) 알고리즘의 하나. - 해당 순서에 원소를 넣을 위치는 이미 정해져 있고, 어떤 원소를 넣을지 선택하는 알고리즘. - 첫번째 자료를 두번째 자료부터 마지막 자료까지 차례대로 비교하여 가장 작은 최소값을 찾아 첫번째에 넣고, 두번째 자료를 세번째 자료부터 마지막 자료까지와 차례대로 비교하여 그 중에서 가장 작은 최소값을 찾아 두번째 위치에 넣 는 과정을 반복정렬하여 수행합니다. * 선택정렬의 과정 1. 주어진 배열중에 최소값을 넣습니다. 2. 그 값을 맨 앞에 위치한 값과 교환합니다. 3. 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체합니다. 4. 하나의 원소만 남을때까지 위의 1~3 과정을 반..
* 큐란? - 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO(First In First Out) 구조로 저장하는 형식을 의미합니다. - 선입선출이라고도 불려지고, 먼저 줄을 선사람이 먼저 나갈 수 있는 상황이라고 볼 수 있습니다. - 나중에 집어 넣은 데이터가 먼저 나오는 스택과 반대되는 개념으로 볼 수 있습니다. * 큐의 연산 - 큐는 FIFO(First-In-First-Out) 를 따른다. 1) add(item) : item을 리스트의 끝부분에 추가합니다. 2) remove() : 리스트의 첫번째 항목을 제거합니다. 3) peek() : 큐에서 가장 위에 있는 항목을 반환합니다. 4) isEmpty() : 큐가 비어 있을 때에 true를 반환합니다. * 큐 사..
* 스택이란? - 데이터가 입력되면 입력된 순서대로 쌓고, 나중에 들어온 것부터 먼저 사용하는 구조입니다. - LIFO(Last In First Out) 후입선출형으로 볼 수 있습니다. - Push로 데이터를 넣고, Pop으로 데이터를 추출합니다. - 한쪽 끝에서만 자료를 뺄 수 있습니다. - 쌓는다는 의미. * 스택의 용도 - 프로그램을 수행할때 사용됩니다. - 함수 A가 실행되는 도중 함수 B가 호출되면 함수 A 위에 함수 B가 스택처럼 쌓입니다. 그러므로 함수 B가 실행이 완료되어야 함수 A가 실행이 된다고 볼 수 있습니다. * 스택 사용법 1) Push (삽입) : 그림과 같이 물건을 집어넣는것으로 볼 수 있습니다. 2) Pop (삭제) : Push와 반대로 물건을 빼는것을 Pop이라 합니다. 3..