>

2024/07/19 2

4주차 WIL

이번주는 강의와 알고리즘 코딩 문제 풀이 위주로 진행되었다. 스택과 큐, 그리고 해시테이블, 최대 힙을 구현해보았고 이를 사용해 코드카타 문제를 풀어보았다. 아직 연결리스트 부분은.. 제대로 구현하지 못해서 복습이 필요하다.  그리고 배열과 리스트가 계속 헷갈렸는데, 배열(array)와 연결리스트가 리스트에 속하고 배열은 접근이 쉽고 삽입이 어려운 반면, 연결리스트는 접근이 어렵고 삽입이 쉽다는 차이가 있다는 것을 배웠다. (시간복잡도 측면에서 큰 차이가 있어 목적에 맞게 사용하면 된다.) 그리고 흔히 파이썬에서 리스트라고 부르는 것이 배열이라는 것도 알게되었는데 구글링해서 찾은 정보와 강의자료의 정보가 좀 차이가 있어 헷갈렸다. 일단 파이썬에서의 리스트 = 배열이라 생각하면 될 것 같다. 다른 언어에서..

WIL 2024.07.19

4주차 Day 5. DFS, BFS

🤍DFS(Depth First Search): 깊이 우선 탐색. 노드를 방문하고 깊이 우선으로 인접한 노드를 방문한다. 그리고 그 노드에서 또다시 깊이 우선으로 인접한 노드를 방문한다. 이 과정을 반복하여 더 이상 갈 곳이 없게 되면 다른 방향으로 다시 탐색한다. *방문했던 노드는 다시 방문하지 않는다. DFS 구현1. 재귀로 구현 - 왼쪽부터 탐색재귀; 반복적으로 발생하는 일과 종료 조건(끝까지 가서 더이상 방문할 자식이 없으면 종료)을 알아야 한다.2. 스택으로 구현 - 오른쪽부터 탐색 def dfs_recursive(node, visited): # 재귀적으로 구현 # 방문처리 visited.append(node) # 인접 노드 방문 for adj in graph[node]: ..

TIL 2024.07.19