자료구조 (3) 썸네일형 리스트형 [자료구조]큐(Queue)는 무엇일까 학교를 다니면서 수없이 많이 들어오고 배웠던 큐와 스택, 큐와 스택이 머냐고 물어보면 항상 후입 선출과 선입선출이라고 답했던 기억이 난다. 큐(Queue)는 한쪽만 뚫려 있는 스택과 달리 양쪽이 뚫려 있는 원형의 통이라고 생각하면 쉽다. 앞뒤가 뚫려 있고 한쪽 방향으로만 자료가 삽입되고 다른 한쪽 방향으로만 자료를 출력한다. 따라서 먼저 들어간 자료가 먼저 나오게 되는 구조이므로 FIFO(First In First Out)(선입선출)이라고 불린다. 큐는 접근이 제한된 자료구조이며 행위적 측면을 부여받은 추상적 자료형이기 때문에 큐를 조작하는 방법은 두 가지로 나뉜다. 큐를 조작 하는 방법은 put 동작과 get 동작이 있다. 큐에 자료를 넣을때는 뒤(rear)에 put 동작으로 넣고 자료를 꺼낼때는 앞(.. [자료구조][정렬 알고리즘]삽입 정렬(Insertion Sort) 삽입 정렬은 선택 정렬과 함께 가장 많이 사용되는 정렬 방법이자 아주 간단한 정렬 방법입니다. 선택 정렬이 많은 비교와 적은 교환으로 특징지워진다면 삽입 정렬은 반대로 적은 비교와 많은 교환이 특징입니다. 출처: https://www.youtube.com/watch?v=ROalU379l3U 위 동영상은 삽입 정렬을 춤으로 표현한 영상으로 함께 보시면 조금이 나마 이해가 가실 겁니다. 삽입 정렬을 java 코드로 구현해 보았습니다. 코드를 간략히 설명 드리자면, 우선 위의 함수는 숫자형 배열을 받는 함수로 arr = {20, 1, 35, 23, 5, 6} 이 들어왔다 가정하겠습니다. 첫 번째 for문에서 인덱스가 0이 아닌 1 , 즉 배열의 두 번째 요소부터 정렬이 시작됩니다. temp라는 변수에 arr .. [자료구조][정렬 알고리즘]선택 정렬(Selection Sort) 선택 정렬은 가장 간단한 정렬 알고리즘입니다. 선택 정렬은 우리가 실생활에서 가장 많이 사용하는 알고리즘 이기도 하며, 기준 위치에 맞는 원소를 선택해 정렬하는 방식입니다. 출처 : https://youtu.be/Ns4TPTC8whw 위 동영상은 선택 정렬을 포크로 표현한 동영상으로 한번 보시면 어느 정도 감이 잡히실 겁니다. 선택 정렬을 Java 코드로 구현해 보았습니다. 코드를 간략히 설명드리면 우선 위의 함수는 숫자형 배열 arr과 배열의 크기인 max를 인자로 받는 함수입니다. 위의 함수에 배열 arr 이 {20, 1, 35, 23, 5, 6} max값이 6이 들어왔을 경우 첫 번째 for문이 시작되고 초기 minIndex는 0 min은 20이 들어가게 됩니다. (40,41 라인) 그리고 기준값은.. 이전 1 다음