일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Service
- asyncio
- EKS
- dockerfile
- IAM
- 자바스크립트
- K8S
- Deployment
- ebs
- elasticsearch
- leetcode
- FastAPI
- intervals
- event loop
- terraform
- 쿠버네티스
- Kubernetes
- AWS
- WSGI
- asgi
- ansible
- EC2
- Django
- github
- IAC
- docker
- POD
- DevOps
- YAML
- Python
- Today
- Total
목록BFS (2)
궁금한게 많은 개발자 노트
해당 문제는 Node로 구성된 Graph를 그대로 복제한 그래프를 반환하는 문제입니다. 기존에 주어진 Node를 그대로 반환하면 안되고 새로 생성하여 반환해야 합니다. BFS를 사용하여 Root Node에서 출발하여 해당 노드를 복제하고, 인접한 노드들을 Queue에 추가하고 다시 반복하는 방식으로 구현하였습니다. 이 과정에서 Hash Table을 사용하여 기존 Node가 key가 되고 새로 복제된 Node를 value로 추가하여 방문한 인접노드를 중복으로 생성하거나 BFS Queue에 추가하는 것을 방지하였습니다. /* // Definition for a Node. class Node { public: int val; vector neighbors; Node() { val = 0; neighbors =..
Binary Tree가 주어졌을 때, level order로 순회하는 순서를 반환하는 문제입니다. BFS(Breadth-First-Search)로 접근하여 최상위 노드부터 넣고 자식들을 순서대로 넣으면서 level order로 순회합니다. /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, Tree..