오늘의 학습키워드
"알고리즘"
✏️오늘 배운 내용
● Big O 표기법
알고리즘의 효율성을 나타내는 표기법
- 시간 복잡도 : 알고리즘이 문제를 해결하는데 걸리는 시간을 나타내는 척도
- 공간 복잡도 : 입력 크기에 따라 필요한 저장 공간의 양을 나타내는 척도
● 정렬 알고리즘
코드로 이해할려고 하니 복잡해서 알고리즘 도감이라는 어플을 사용해서 공부했다.
- 선택정렬 : 최소값(또는 최대값)을 찾아 맨 앞(또는 맨 뒤)와 교환하는 방법
▼실제 알고리즘 도감 플레이영상
- 삽입정렬 : 정렬되지 않은 부분에서 요소를 가져와 정렬된 부분에 적절한 위치에 삽입하는 방법
- 퀵정렬: 피벗(정렬기준이 되는 숫자)을 기준으로 작은 요소들은 왼쪽, 큰 요소들은 오른쪽으로 분할하고 이를 재귀적으로 정렬하는 방법 → 다른 알고리즘에 비해 비교 및 교환 횟수가 적음
- 병합정렬: 배열을 반으로 나누고, 각 부분을 재귀적으로 정렬한 후, 병합하는 방법
● C# Sort
배열이나 리스트의 요소들을 정렬하는 메서드, 오름차순으로 수행
● 탐색 알고리즘
주어진 데이터 집합에서 특정 항목을 찾는 알고리즘
- 선형탐색 : 배열의 각 요소를 하나씩 차례대로 검사하여 원하는 항목을 찾는 방법
- 이진탐색 : 정렬된 배열에서 빠르게 원하는 항목을 찾는 방법,중간 요소와 찾고자 하는 항목을 비교하여 대상이 중간 요소보다 작으면 왼쪽을, 크면 오른쪽을 탐색
● 그래프
정점(Vertex)과 간선(Edge)으로 이루어진 자료 구조
- 깊이 우선 탐색 : 루트에서 시작하여 가능한 한 깊이 들어가서 노드를 탐색하고, 더 이상 방문할 노드가 없으면 이전 노드로 돌아가는 방식
- 너비 우선 탐색 : 루트에서 시작하여 가까운 노드부터 방문하고, 그 다음 레벨의 노드를 방문하는 방식
● 최단 경로 알고리즘
● 동적 프로그래밍
● 그리디 알고리즘
● 분할 정복
💭오늘의 회고
역시 어려운 알고리즘...실제로 게임 개발에 적용해보면서 코드를 작성하면서 복습을 열심히 해야할것같다.
'TIL' 카테고리의 다른 글
🔥내일배움캠프 12일차 TIL (0) | 2025.02.07 |
---|---|
🔥내일배움캠프 11일차 TIL (0) | 2025.02.06 |
🔥내일배움캠프 9일차 TIL (0) | 2025.02.04 |
🔥내일배움캠프 8일차 TIL (1) | 2025.02.03 |
🔥내일배움캠프 7일차 TIL (1) | 2025.01.31 |