본문 바로가기
반응형

프로그래밍/Python79

[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.
Python에서 개행 문자 제거하기: 쉽고 자세한 설명과 예제 코드 파일을 읽을 때, Python의 readlines() 함수를 사용하면 줄의 끝에는 개행 문자('\n')가 포함됩니다. 초보자에게는 개행 문자를 제거하는 방법이 낯설 수 있습니다. 이 글에서는 초보자를 위해 Python에서 개행 문자를 제거하는 방법을 쉽고 자세히 설명하고, 예제 코드를 통해 구체적으로 안내하겠습니다. 파일을 읽을 때 각 줄의 끝에 있는 개행 문자를 제거하는 방법은 간단하고 유용합니다. 다음은 readlines() 함수와 함께 사용되는 세 가지 예제 코드를 소개하겠습니다. 예제 1: rstrip('\n') 메서드를 사용하여 개행 문자 제거하기 with open('파일이름.txt', 'r') as file: lines = file.readlines() lines = [line.rstrip('.. 2023. 6. 4.
반응형