자료구조

DFS (Depth First Search) 깊이 탐색 - 드라마를 첫화부터 끝까지 한번에 다 본다.(한 놈만 팬다.) 두 노드 사이의 최단 경로 혹은 임의의 경로를 찾고 싶을 때 장점 : 최선의 경우 제일 빠르다. 단점 : 찾은 답이 최적이 아닐 가능 성이 있다. 최악의 경우 제일 느리다. 방법 1. 루트 노드부터 시작한다. 2. 현재 방문한 노드를 visited에 추가한다. 3. 현재 방문한 노드와 인접한 노드 중 방문하지 않은 노드에 방문한다. 4. 2부터 반복한다 BFS (Breadth First Search) 그래프 탐색의 경우 어떤 노드를 방문했었는지 여부를 반드시 검사 해아 한다는 것이다. 너비 탐색- 여러 드라마를 하나씩 보면서 끝까지 본다.(한대씩 때려본다.) 장점 : 최적의 답을 찾는..
스택 (Stack) 게임의 그 스택이 맞다 계속 쌓이는 구조이다(Last In First Out : LIFO 리뽀) ex) 컴퓨터 되돌리기 (Ctrl + z) 여기서 헤드를 셋팅하는건 자료구조 마다 다르니 잘 기억 하도록 하자 ! 시작 ! class Stack: # 스택 생성 def __init__(self): self.head = None 기능 ! push() : 맨 위에 데이터 넣기 def push(self, value): # 헤드 교체 new_head = Node(value) # 들어온 밸류를 새로운 헤드에 담기 new_head.next = self.head # 새로운 헤드의 다음 노드에 현재 헤드 옮기기 self.head = new_head # 새로운 헤드를 헤드노드로 지정 pop() : 맨 위의..
imSoo
'자료구조' 태그의 글 목록