본문 바로가기
반응형

컴퓨터 과학3

[Python]파이썬으로 너비 우선 탐색(BFS)과 정렬 알고리즘 이해하기 안녕하세요! 오늘은 알고리즘의 세계로 함께 여행을 떠나봅시다. 이번 포스팅에서는 파이썬을 활용해 너비 우선 탐색(BFS: Breadth-First Search) 알고리즘과 정렬 알고리즘에 대해 알아보겠습니다. 너비 우선 탐색(BFS)이란? 너비 우선 탐색은 그래프나 트리를 탐색하는 방법 중 하나로, 시작 노드에서 가까운 노드부터 탐색하는 방식입니다. 이는 큐 자료구조를 사용하여 구현됩니다. 파이썬에서의 너비 우선 탐색 구현 아래는 파이썬을 이용하여 너비 우선 탐색 알고리즘을 구현한 예제입니다. from collections import deque def bfs(graph, root): visited = [] queue = deque([root]) while queue: vertex = queue.popl.. 2023. 6. 11.
[Python]파이썬으로 탐색하고 정렬하기: 이진 검색(Binary Search)과 정렬(Sorting) 알고리즘 이해하기 안녕하세요! 오늘은 기본적인 알고리즘 중 이진 검색(Binary Search)과 정렬(Sorting) 알고리즘에 대해 알아볼 예정입니다. 파이썬의 직관적인 문법을 이용하여 이 두 가지 기초적인 알고리즘을 쉽게 이해하실 수 있을 것입니다. 이진 검색(Binary Search)이란? 이진 검색은 배열이 정렬되어 있을 때 특정한 값을 효율적으로 찾는 방법입니다. 가운데에 있는 값을 확인하고 찾고자 하는 값이 그 값보다 크면 오른쪽, 작으면 왼쪽을 검색하는 과정을 반복합니다. 이러한 방식은 반복할 때마다 검색 범위를 반으로 줄이므로 매우 빠르게 원하는 값을 찾을 수 있습니다. 이진 검색 알고리즘은 O(log n)의 시간 복잡도를 가지며, n이 늘어나도 성능 저하가 상대적으로 적다는 장점이 있습니다. 파이썬에서의.. 2023. 6. 11.
[Python]깊이 우선 탐색(DFS)과 그 적용: 파이썬으로 배우는 데이터 구조와 알고리즘 오늘 우리는 기초적인 컴퓨터 과학 개념인 '깊이 우선 탐색(Depth-First Search, 이하 DFS)'에 대해 배우려고 합니다. 특히, 파이썬의 간결하고 직관적인 구조를 활용하여 DFS를 더욱 쉽게 이해할 수 있을 것입니다. 깊이 우선 탐색(DFS)이란? DFS는 트리나 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘입니다. 즉, 한 방향으로 가능한 깊이 들어가면서 노드를 탐색하고, 더 이상 탐색할 수 있는 노드가 없으면 이전 노드로 돌아와서 다시 탐색을 이어갑니다. DFS는 미로를 해결하는 것과 유사하다고 볼 수 있습니다. 새로운 길이 나올 때마다 계속 탐색하다가 막힌 곳에 도달하면, 이전의 분기점으로 돌아와서 다른 길을 찾는 것입니다. 이러한 접근 방식으로 인해 DFS는 모든 노드를 방문하.. 2023. 6. 11.
반응형