본문 바로가기

2

12/18 WIL 1. 알고리즘 관련 공부 이번 주는 공부했던 알고리즘 지식을 정리하려 한다. BFS(Breadth First Searching) 너비 우선 탐색 너비 우선 탐색으로 상태트리나 다른 그래프에 있어 같은 레벨에 있는 노드를 우선 적으로 탐색하는 알고리즘이다. BFS를 사용할 때는 큐(선입선출) 자료구조를 사용하여 현재 노드를 popleft()하고 현재 노드와 연결된 다음 노드들을 append 한다. DFS()와의 차이점은 DFS는 한 루트(시작 노드부터 끝 레벨의 노드까지)를 중점으로 가지 치기를 하는데 사용한다는 점이다. 반면 BFS() 현재 노드와 가장 가깝게 연결된 다음 노드들을 레벨 별로 묶어서 최단 경로 찾기와 같은 좌표 이동에 주로 사용한다. BFS()는 좌표 관련 문제에서 꽤나 자주 사용하는 편.. 2022. 12. 18.
10/30 WIL 1. 알고리즘 관련 공부 이번 주는 공부했던 알고리즘 지식을 정리하려 한다. 큐 선입출 방식 전 데이터를 저장하고 주어진 순서에 따라 순서를 바꾸지 않고 해결할 때 가장 사용을 많이 하는 자료구조다. 문제에서 원이나 순서, 입력 순서 등의 키워드가 언급될 때 처음 순서를 저장하고 싶을 때 쓴다. 파이썬의 경우 큐는 collection의 deque를 이용, popleft() 등을 통해 구현이 가능해서 리스트를 쓴다. 보통 in 함수를 사용해서 if의 조건문을 구성해서 이것이 있는지 없는지 체킹하는 방식이 주류다. 예제) 교육과정 설계(큐) 현수는 1년 과정의 수업계획을 짜야 합니다. 수업중에는 필수과목이 있습니다. 이 필수과목은 반드시 이수해야 하며, 그 순서도 정해져 있습니다. 만약 총 과목이 A, B,.. 2022. 10. 30.