안녕하세요! 오늘은 알고리즘의 세계로 함께 여행을 떠나봅시다. 이번 포스팅에서는 파이썬을 활용해 너비 우선 탐색(BFS: Breadth-First Search) 알고리즘과 정렬 알고리즘에 대해 알아보겠습니다.
너비 우선 탐색(BFS)이란?
너비 우선 탐색은 그래프나 트리를 탐색하는 방법 중 하나로, 시작 노드에서 가까운 노드부터 탐색하는 방식입니다. 이는 큐 자료구조를 사용하여 구현됩니다.
파이썬에서의 너비 우선 탐색 구현
아래는 파이썬을 이용하여 너비 우선 탐색 알고리즘을 구현한 예제입니다.
from collections import deque
def bfs(graph, root):
visited = []
queue = deque([root])
while queue:
vertex = queue.popleft()
if vertex not in visited:
visited.append(vertex)
queue.extend(set(graph[vertex]) - set(visited))
return visited
정렬 알고리즘
데이터를 특정한 기준에 따라 순서대로 나열하는 것을 '정렬'이라 합니다. 이는 알고리즘, 데이터 분석, 머신러닝 등 여러 분야에서 사용됩니다. 오늘은 파이썬의 기본 정렬 함수인 sort() 함수에 대해 알아보겠습니다.
파이썬에서의 정렬 구현
파이썬은 기본적으로 sort() 함수를 제공하여, 이를 이용해 쉽게 배열을 정렬할 수 있습니다. 아래는 파이썬의 sort() 함수를 사용한 예시입니다.
numbers = [5, 2, 3, 1, 4]
numbers.sort()
print(numbers) # 출력: [1, 2, 3, 4, 5]
마치며
너비 우선 탐색과 정렬 알고리즘은 컴퓨터 과학에서 가장 기본적인 알고리즘입니다. 이 두 가지 알고리즘을 잘 이해하고 활용한다면, 여러분의 프로그래밍 능력 향상에 큰 도움이 될 것입니다.
댓글