본문 바로가기

Computer Science32

[자료구조] 삽입 정렬(Insertion Sort) 목차 정렬 종류 비교 기반 정렬(Comparison Based Sorts) - Selection Sort, Bubble Sort, Insertion Sort, Heap Sort, Merge Sort, Quick Sort 비비교 기반 정렬(Non-comparison Based Sorts) - Counting Sort, Radix Sort, Bucket Sort 삽입 정렬(Insertion Sort) 개념 리스트의 시작부터 하나책마다 왼쪽에 있는 책들과 비교해서 자기보다 작은 책이 나올 때까지 번갈아가며 껴줍니다. 정렬되지 않은 책장이 있을 때 앞에서부터 왼쪽에 있는 책들과 비교를 하면서 자기 크기에 맞는 곳에 넣어주는 것입니다. 즉, 2 3 5 6 7 4가 있을 때 4는 자기보다 작은 값인 3 뒤로 삽입되.. 2024. 4. 16.
[자료구조] 버블 정렬(Bubble Sort) 목차 정렬 종류 비교 기반 정렬(Comparison Based Sorts) - Selection Sort, Bubble Sort, Insertion Sort, Heap Sort, Merge Sort, Quick Sort 비비교 기반 정렬(Non-comparison Based Sorts) - Counting Sort, Radix Sort, Bucket Sort 버블 정렬(Bubble Sort) 개념 버블 정렬은 두 개의 인접한 요소를 비교하여 작은 값을 앞으로 보내주는 과정을 기반으로 정렬하게 됩니다. 이러한 과정을 앞에서부터 뒤에까지 쭈욱 진행하면, 작은 값들이 한 칸씩 앞으로 이동하게 될 것입니다. 이러한 과정은 swap 과정이 발생하지 않을때까지 진행되게 됩니다. 만약 제일 작은 값이 제일 뒤에 있다.. 2024. 4. 16.
[자료구조] 선택 정렬(Selection Sort) 목차 정렬 종류 비교 기반 정렬(Comparison Based Sorts) - Selection Sort, Bubble Sort, Insertion Sort, Heap Sort, Merge Sort, Quick Sort 비비교 기반 정렬(Non-comparison Based Sorts) - Counting Sort, Radix Sort, Bucket Sort 선택 정렬(Selection Sort) 개념 선택 정렬은 제일 작은 값을 찾고 앞에 있는 값들과 하나씩 변경하는 과정입니다. 단순하게 그냥 정렬 방식을 생각했을 때 떠올릴 수 있는 가장 쉬운 방법입니다. 정렬되어 있지 않은 책장이 있을 때, 모든 책을 살핀 뒤 제일 크기가 작은 책과 제일 왼쪽에 있는 책과 바꾸어 책장에 넣습니다. 그 후에 이제 나머.. 2024. 4. 15.
[자료구조] 링크드 리스트(Linked List) 목차 링크드 리스트(Linked List) 개념 Linked List는 Node라는 구조체로 이루어져 있습니다. Node는 data와 인접한 Node의 주소(address)를 저장하고 있습니다. 하나의 Array는 data만 저장하기 때문에 각 공간의 크기는 4byte였습니다. 하지만 Linked List의 경우 주소까지 저장해 야하기 때문에 하나의 공간에는 8byte의 공간이 사용됩니다. 인접한 Node의 주소를 저장하기 때문에, Array처럼 기존 고정된 크기의 연속된 메모리 공간을 할당할 필요 없습니다. 데이터가 추가되는 시점에 메모리를 할당해 주면 됩니다. 불연속적(discontinuous) 링크드 리스트 종류 Singly Linked List Doubly Linked List Singly Lin.. 2024. 4. 15.