10,000명 중 김철수 찾기 —
처음부터 한 명씩 확인하면 최악 10,000번,
정렬된 명단을 절반씩 좁히면 단 14번.
문제 푸는 절차의 선택 — 이것이 알고리즘이다.
입력 → 명확한 절차 → 출력. 최대값을 찾는 간단한 예시를 보자.
같은 "정렬"도 방법에 따라 속도가 극적으로 달라진다. 버블 vs 퀵 정렬을 비교해보자.
데이터가 커질 때 실행 시간이 얼마나 빨리 늘어나는지를 나타낸다. 작을수록 좋다.
유튜브가 다음 영상을 추천할 때 내부에서 어떤 알고리즘이 작동할까?
핵심: 알고리즘은 "당신이 좋아할 것"이 아니라 "계속 보게 할 것"을 최적화한다 — 목적 함수 설계가 중요하다.
목적에 따라 다른 알고리즘을 고른다. 단순함 vs 속도 vs 안정성.
우리가 매일 사용하는 앱과 서비스 속에 이 개념이 녹아 있다.
💡 이 개념이 없다면 수백만 개 데이터에서 원하는 정보를 찾는 것이 불가능하다
이렇게 생각하기 쉽지만, 실제로는 조금 다릅니다.
어려운 개념도 익숙한 것에 빗대면 쉬워진다.
이 개념을 이해하면 Claude나 ChatGPT를 훨씬 잘 활용할 수 있다.
💪 알고리즘의 세계를 이해했다면 앱이 왜 빠르고 느린지 보이기 시작합니다!
알고리즘이 빨라지려면 데이터를 잘 담아두는 방법이 필요하다.
배열, 스택, 큐, 딕셔너리 — 데이터 보관함의 세계로.
💡 기억할 것: 더 좋은 알고리즘은 데이터 크기가 커질수록 차이가 벌어진다.