IT 개발 관련/[TIL]

[항해99 취업 리부트 코스 학습일지] 3주차 알고리즘 학습 Day 3

Baileyton 2024. 6. 7. 20:27
728x90

Q. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?

오늘은 정렬과 이분 탐색에 대해 학습했다. 정렬은 데이터를 특정 순서에 따라 배열하는 과정으로, 여러 가지 방법이 있다. 이분 탐색은 정렬된 배열에서 특정 값을 효율적으로 찾는 알고리즘입니다. 아래는 각각의 개념과 알고리즘에 대한 간단한 설명입니다.

정렬 (Sorting)

정렬은 데이터 요소들을 오름차순이나 내림차순으로 재배열하는 작업입니다. 여러 가지 정렬 알고리즘이 있으며, 그 중 몇 가지를 정리해 보았습니다.

  1. 버블 정렬 (Bubble Sort): 인접한 두 요소를 비교하여 필요에 따라 위치를 바꾸는 방식으로 배열 끝까지 반복합니다. 단순하지만 비효율적인 알고리즘입니다.
  2. 삽입 정렬 (Insertion Sort): 배열의 요소를 하나씩 순차적으로 비교하여 올바른 위치에 삽입하는 방식입니다. 소규모 데이터 세트에 적합합니다.
  3. 병합 정렬 (Merge Sort): 분할 정복 알고리즘으로, 배열을 반으로 나누고 정렬한 다음 다시 병합하는 방식입니다. 안정적인 정렬 알고리즘입니다.
  4. 퀵 정렬 (Quick Sort): 피벗 요소를 기준으로 배열을 분할하여 정렬하는 방식입니다. 평균적으로 매우 빠른 성능을 보입니다.

이분 탐색 (Binary Search)

이분 탐색은 정렬된 배열에서 특정 값을 찾는 데 사용되는 효율적인 알고리즘입니다. 배열을 절반으로 나누어 검색 범위를 좁히는 방식으로 작동합니다.

  1. 조건: 이분 탐색을 적용하기 위해서는 배열이 반드시 정렬되어 있어야 합니다.
  2. 과정:
    • 배열의 중간 요소를 선택합니다.
    • 찾고자 하는 값이 중간 요소보다 작으면 왼쪽 절반을, 크면 오른쪽 절반을 탐색합니다.
    • 이 과정을 찾고자 하는 값을 발견할 때까지 반복합니다.
  3. 시간 복잡도: O(log n). 이는 배열의 크기가 커질수록 탐색 시간이 매우 효율적이라는 것을 의미합니다.

 

Q. 이번 주 진행된 팀 스터디에서 얻은 인사이트는 무엇인가요?

팀원들의 접근 방식과 풀이를 보면서 다양한 방법을 배우고, 더 효율적이고 효과적인 풀이 방식을 알게 되었습니다. 이 과정을 통해 문제 해결에 대한 새로운 인사이트를 얻을 수 있었다.

 

항해99 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.

https://hanghae99.spartacodingclub.kr/reboot

 

IT 커리어 성장 코스 항해99, 개발자 취업부터 현직자 코스까지

항해99는 실무에 집중합니다. 최단기간에 개발자로 취업하고, 현직자 코스로 폭발 성장을 이어가세요. 실전 프로젝트, 포트폴리오 멘토링, 모의 면접까지.

hanghae99.spartacodingclub.kr

 

728x90