개발 공부(Computer Science)/자료구조와 알고리즘
-
1. 퀵 정렬(Quick Sort) - 기준점(Pivot)을 선택하고, 이를 기준으로 작은 요소와 큰 요소로 분할하여 정렬 - 시간 복잡도: 평균 O(n log n), 최악의 경우 O(n^2) - 특징: 매우 효율적이지만, 최악의 경우를 피하기 위해 랜덤 피벗을 사용하기도 함 예제 코드package study.com;public class QuickSortExample { //배열을 퀵 정렬하는 메소드 public static void quickSort(int[] arr, int low, int high) { if(low 결과2. 병합 정렬(Merge Sort) - 리스트를 절반으로 나누고, 각각을 재귀적으로 정렬한 후 합치는 정렬 - 시간 복잡도: O(n log n) - 특징: 안정적인 정렬 방식..
정렬 알고리즘(Sorting Algorithms) - 퀵 정렬, 병합 정렬1. 퀵 정렬(Quick Sort) - 기준점(Pivot)을 선택하고, 이를 기준으로 작은 요소와 큰 요소로 분할하여 정렬 - 시간 복잡도: 평균 O(n log n), 최악의 경우 O(n^2) - 특징: 매우 효율적이지만, 최악의 경우를 피하기 위해 랜덤 피벗을 사용하기도 함 예제 코드package study.com;public class QuickSortExample { //배열을 퀵 정렬하는 메소드 public static void quickSort(int[] arr, int low, int high) { if(low 결과2. 병합 정렬(Merge Sort) - 리스트를 절반으로 나누고, 각각을 재귀적으로 정렬한 후 합치는 정렬 - 시간 복잡도: O(n log n) - 특징: 안정적인 정렬 방식..
2024.06.26 -
1. 버블 정렬(Bubble Sort) - 인접한 두 요소를 비교하여 교환하면서 정렬하는 방식 - 시간 복잡도: 최악의 경우 O(n^2) * 시간 복잡도란? -> 시간 복잡도(Time Complexity)는 알고리즘의 수행 시간이 입력 크기에 따라 어떻게 증가하는지를 나타내는 지표 - 특징: 간단하지만 비효율적 코드 예시package study.com;public class BubbleSort { public static void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i arr[j + 1]) { // arr[j]와 arr[j+1]을 교환 int temp = arr[j]; arr[j] = arr[j +..
정렬 알고리즘(Sorting Algorithms) - 버블 정렬, 삽입 정렬, 선택 정렬1. 버블 정렬(Bubble Sort) - 인접한 두 요소를 비교하여 교환하면서 정렬하는 방식 - 시간 복잡도: 최악의 경우 O(n^2) * 시간 복잡도란? -> 시간 복잡도(Time Complexity)는 알고리즘의 수행 시간이 입력 크기에 따라 어떻게 증가하는지를 나타내는 지표 - 특징: 간단하지만 비효율적 코드 예시package study.com;public class BubbleSort { public static void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i arr[j + 1]) { // arr[j]와 arr[j+1]을 교환 int temp = arr[j]; arr[j] = arr[j +..
2024.06.25 -
- 자료구조1. 자료 구조의 분류 - 선형 구조(Liner Structure) : 배열, 스택, 큐, 데크, 선형 리스트 - 비선형 구조(Non-Liner Structure) : 트리, 그래프 2. 배열(Array) - 정적인 자료 구조로 기억장소의 추가가 어렵고 메모리의 낭비 발생 - 반복적인 데이터 처리 작업에 적합한 구조 3. 스택(Stack) - 입출력이 한쪽 끝으로만 제한된 리스트 - 더 이상 삭제할 데이터가 없는 상태에서 데이터를 삭제하면 언더플로(UnderFlow)가 발생 - 후입선출(LIFO, Last In First Out) 방식 * 스택을 이용한 연산 - 재귀호출 - 후위표현(Post-Fix Expression)의 연산 - 깊이 우선 탐색 - 서브루틴 호출, 인터럽트 처리, 수식 계산 ..
자료 구조 / 정보처리기사- 자료구조1. 자료 구조의 분류 - 선형 구조(Liner Structure) : 배열, 스택, 큐, 데크, 선형 리스트 - 비선형 구조(Non-Liner Structure) : 트리, 그래프 2. 배열(Array) - 정적인 자료 구조로 기억장소의 추가가 어렵고 메모리의 낭비 발생 - 반복적인 데이터 처리 작업에 적합한 구조 3. 스택(Stack) - 입출력이 한쪽 끝으로만 제한된 리스트 - 더 이상 삭제할 데이터가 없는 상태에서 데이터를 삭제하면 언더플로(UnderFlow)가 발생 - 후입선출(LIFO, Last In First Out) 방식 * 스택을 이용한 연산 - 재귀호출 - 후위표현(Post-Fix Expression)의 연산 - 깊이 우선 탐색 - 서브루틴 호출, 인터럽트 처리, 수식 계산 ..
2024.05.17