알고리즘 유형3. DFS, BFS feat. 유레카
하고싶은거/자료구조&알고리즘 공부2024. 6. 26. 17:03알고리즘 유형3. DFS, BFS feat. 유레카

DFS, BFS그래프, tree를 어떻게 자료구조로 표현할것인가? 를 알기 위해 먼저 자료구조 Stack, Queue를 먼저 알아봤다.더보기 Java Platform SE 8 docs.oracle.comStack : FILO or LIFO 불공평한 자료구조 입구 1개 (입구와 출구가 같다)push(n) : n을 스택에 입력 / pop() : 맨 위(앞)에 있는 원소 반환 + 삭제 / peek() : 맨 위(앞)에 있는 원소 반환Stack의 자료구조는 stack, queue, arraydeque로 만들 수 있다. (하지만 왠만하면 arraydeque를 이용) Queue : FIFO 입구 1개, 출구 1개, 같은 방향으로 요소들이 흐른?다offer(n) : 큐 끝에 n 추가 / poll() : 큐 앞에 요소..

선형 구조 : 스택, 큐
하고싶은거/자료구조&알고리즘 공부2024. 3. 10. 21:26선형 구조 : 스택, 큐

선형 구조 : 자료를 순차적으로 나열한 형태 배열 연결 리스트 스택/큐 비선형 구조 : 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태 트리 그래프 스택 Stack 메모리에 LIFO(Last-In-First-Out)으로 데이터를 저장하는 구조 : 메모리에 가장 나중에 들어간 데이터가 먼저 출력되는형식 되돌리기 기능같은 곳에 사용하면 좋겠다.(ctrl+z) 따라서 벡터(동적배열)이나 연결리스트 둘중 어느 것으로도 구현할 수 있다. 필요한 기능이 1. 메모리에 데이터 입력하기, 2. 마지막으로 입력된 데이터(맨 뒤에 있는 데이터) 출력하기 2가지 이기 때문. 이건 벡터를 이용해서 stack을 구현한건데, stack의 타입을 list로만 바꿨음에도 잘 동작한다. → 내부적인 구조는 벡터에서 리스트로 바뀌지만..

image