본문 바로가기

탐색 알고리즘

(3)
[Algorithm/Swift] 이진 탐색(Binary Search) 안녕하세요 제인입니다 :) 오늘은 탐색 알고리즘 중 이진 탐색(Binary Search)이 무엇인지 알아보고 Swift 코드로 구현까지 해보려고 합니다. 이진 탐색 알고리즘의 경우 탐색의 범위가 아주 큰 상황에서 속도를 내서 탐색할 수 있는 방법이니 잘 정리해두면 유용하게 사용할 수 있을 것 같습니다. 바로 시작해볼게요! 이진 탐색이란? 먼저, 이진 탐색이 왜 필요할까요?? 리스트 내에서 원하는 데이터를 찾기 위해 가장 기본적인 탐색 방법인 순차 탐색 방법과 비교하며 이진 탐색을 사용해야 하는 이유에 대해 알아봅시다. 순차 탐색 순차 탐색이란 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법입니다. 보통 정렬되지 않은 리스트에서 데이터를 찾아야 할 때 사용하게..
[Algorithm/Swift] BFS(너비 우선 탐색) Swift로 구현해보기 안녕하세요 제인입니다:) 오늘은 저번 알고리즘 포스팅(DFS)에 이어 BFS(너비 우선 탐색)에 대해 정리해보려 합니다! 시작하기 전에, 탐색 알고리즘 중 하나인 BFS를 이해하려면 우선 그래프에 대한 이해부터 필요하니 혹시 그래프에 대해 잘 모르신다면 아래 링크로 걸어둔 이전 포스팅을 참고해주시면 좋을 것 같습니다!! [Algorithm/Swift] DFS(깊이 우선 탐색) Swift로 구현해보기 요즘 라는 책으로 알고리즘 개념들을 하나씩 뿌수고 있는데요, 이 책이 파이썬 언어를 기준으로 설명되어있어서 개념을 학습하고, 예제나 실전 문제들을 Swift언어로 풀이해보는 방식으로 차근 janechoi.tistory.com BFS BFS(Breadth First Search)는 '너비 우선 탐색'이라는 의미..
[Algorithm/Swift] DFS(깊이 우선 탐색) Swift로 구현해보기 요즘 라는 책으로 알고리즘 개념들을 하나씩 뿌수고 있는데요, 이 책이 파이썬 언어를 기준으로 설명되어있어서 개념을 학습하고, 예제나 실전 문제들을 Swift언어로 풀이해보는 방식으로 차근차근 공부해가고 있습니다! 개념을 공부하고 Swift 언어로 바꿔보는 과정을 정리해두면 좋을 것 같아서 하나씩 정리해보려고 합니다! 오늘은 알고리즘에서 가장 중요한 개념들 중 하나인 탐색 알고리즘, 그 중에서도 DFS(깊이 우선 탐색)의 개념을 정리해보고, 책의 간단한 예제를 Swift 언어로 바꿔서 DFS를 구현해보도록 하겠습니다! DFS DFS(Depth-First Search)는 깊이 우선 탐색이라고도 부르며, 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘입니다. 그렇다면, 그래프는 어떤 구조인지 부터 알아야 ..