본문 바로가기

알고리즘2

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