Stack
-
DFS, BFSProgramming/leetcode 2021. 2. 23. 22:44
그래프 순회 이론 정리 DFS - 깊이 우선 탐색, Stack과 재귀 호출로 구현되며 Back-Tracking과 같이 사용하면 뛰어난 효과 BFS - 너비 우선 탐색, 주로 Queue로 구현하며 최단 경로 문제에서 많이 사용됨(다익스트라 알고리즘) 코딩테스트에서 대부분의 그래프 탐색은 DFS로 이루어짐 DFS - Stack과 재귀 호출로 구현 ex) graph = { 1:[2,3,4], 2:[5], 3:[5], 4:[], 5:[6,7], 6:[], 7:3} 재귀 호출로 구현 graph = { 1:[2,3,4], 2:[5], 3:[5], 4:[], 5:[6,7], 6:[], 7:[3]} def recursive_dfs(v, discovered=[]): discovered.append(v) for w in ..
-
StackProgramming/Data Structure 2020. 10. 19. 23:27
Stack에 대해서 알아보자 * 데이터를 제한적으로 접근할 수 있는 구조 * 한쪽끝에서만 데이터를 넣고 뺄수 있는 구조 * 가장 나중에 쌓은 데이터가 제일 먼저 나가는 구조 프로세스에서 많이 쓰임 1. 스택 구조 스택은 LIFO(Last In, First Out)구조 대표적인 함수 : push,(데이터 넣기), pop(데이터 빼기) Visualgo site에서 push, pop 기능으로 확인해보자 visualgo.net/en/list?slide=1 VisuAlgo - Linked List (Single, Doubly), Stack, Queue, Deque VisuAlgo is free of charge for Computer Science community on earth. If you like Visu..
-
배열로 구현한 StackProgramming/C,C++ 2012. 10. 27. 19:48
오늘은 배열로 구현한 Stack을 포스팅 하려고 합니다. Stack : 자료를 한 방향으로만 쌓는 구조입니다. 앞에서 배운 리스트는 양방향으로 자료를 집어 넣고 , 뺄 수 있었지만 스택은 오직 한방향에서만 가능합니다. 스택에서는 오직 맨 위에다가만 자료를 추가할 수 있습니다. 이를 Push라고 합니다. 또한, 스택에서 자료를 꺼내는 것을 Pop라고 합니다.(현재 top에 있는 자료를 꺼내오겠죠!)그래서 스택은 다른말로 LIFO(Last - In - First - Out) 맨 마지막에 들어와서 마지막 원소가 가장 먼저 나가는 특성을 지닙니다. 기본적으로 배열로 구현한 Stack에서는 크기를 지정해줘야 합니다. 배열로 구현한 스택의 단점은 크기를 미리 지정하고, 그 지정한 크기가 넘어가면 Overflow가 ..