본문 바로가기
프로그래밍/Python

[Python]파이썬으로 너비 우선 탐색(BFS)과 정렬 알고리즘 이해하기

by wyatti 2023. 6. 11.

 

 

안녕하세요! 오늘은 알고리즘의 세계로 함께 여행을 떠나봅시다. 이번 포스팅에서는 파이썬을 활용해 너비 우선 탐색(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]

 

 

마치며

너비 우선 탐색과 정렬 알고리즘은 컴퓨터 과학에서 가장 기본적인 알고리즘입니다. 이 두 가지 알고리즘을 잘 이해하고 활용한다면, 여러분의 프로그래밍 능력 향상에 큰 도움이 될 것입니다.

댓글