알고리즘3 [알고리즘] #3 삽입 정렬(Insertion Sort) 오늘은 삽입 정렬(Insertion Sort)을 java코드로 구현 해 보자 삽입(Insertion) 정렬 이란?배열의 요소를 하나씩 확인하며, 각 요소를 이미 정렬된 부분 배열의 올바른 위치에 삽입하여 정렬한다.선택정렬과 유사하지만 데이터가 조금이라도 정렬되어 있는 경우 매우 효율적인 알고리즘이다.손안에 카드 여러장을 한장씩 뽑아 왼쪽부터 순서대로 정렬하는것과 유사하다. 동작원리1. 처리되지 않은 데이터를 순차적으로 선택: 현재 요소와 앞 요소를 비교해야 하기 때문에 첫 라운드는 배열의 두번째 인덱스에 위치한 요소부터 시작함. 2. 정렬된 부분 배열에서 삽입할 위치를 찾기: 현재 요소를 임시 변수(temp)에 저장하고, 정렬된 부분 배열에서 해당 요소가 들어갈 위치를 찾음,이전 요소들과 비교하면서 더.. 2024. 7. 4. [알고리즘] #2 선택 정렬(Selection Sort) 오늘은 저번 버블 정렬에 이어서 선택 정렬(Selection Sort)를 java코드로 구현해 보자선택(Selection) 정렬 이란? 선택정렬은 버블정렬과 유사한 알고리즘으로, 배열을 순회하면서 가장 작은(또는 큰) 요소를 선택하여 배열의 앞쪽에 차곡차곡 순차적으로 정렬하는 것버블정렬과 마찬가지로 구현이 간단하지만 효율성이 낮은 정렬알고리즘 동작원리1. 최소값 찾기 : 주어진 배열을 순회하며 가장 작은(또는 큰) 요소를 찾음2. 교환: 해당 요소를 배열의 맨 앞 인덱스에 위치한 요소와 교환함 ( 1 라운드 ),2번에서 정렬이 완료된 첫번째 인덱스는 제외하고 가장 작은(또는 큰) 요소를 찾아 두 번째 인덱스에 위치한 요소와 교환함(2 라운드)3. 반복 : 이 과정을 전체 배열이 정렬 될 때까지 반복함자바.. 2024. 7. 3. [알고리즘] #1 거품 정렬(Bubble Sort) 거품 정렬(Bubble Sort)를 Eclipse에서 Java코드로 구현해 보자 거품(Bubble) 정렬이란? 가장 기본적인 정렬 알고리즘 중 하나로, 인접한 두 요소를 비교하고 조건에 따라 위치를 교환하여 배열을 정렬하는 것마치 거품이 물 위로 올라오는 것 처럼 큰 값들이 배열의 끝으로 이동하는 모습에서 유래되었다고함직관적이고 구현하기 쉬운 알고리즘이나, 성능이 뛰어나지는 않음 동작원리1. 배열의 첫 번째 요소와 두번째 요소를 비교하여 조건에 따라 교환 -> 두 번째 요소와 세 번째 요소를 비교하여 조건에 따라 교환 -> ....이런식으로 마지막 -1 번째 요소와 마지막 번째 요소를 조건에 따라 교환하는 이 과정을 배열의 끝까지 반복함, 이 과정을 1회전(1 round)이라고 함2. 각 1회전을 마친 .. 2024. 7. 2. 이전 1 다음