일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Github
- Ultimate Search
- python3
- ASF-110
- 격리수준
- DP
- SRE
- 코딩테스트
- 제노블레이드 2
- 프로그래머스
- 프로콘
- 리트코드
- C++
- LeetCode
- algorithm
- 백준
- 프로콘 갈림현상
- programmers
- 알고리즘
- 네이버 검색 시스템
- baekjoon
- GitHub Desktop
- Algorithmus
- git
- 백트래킹
- Pro-Con
- 취준
- 알고리즘 종류 정리
- Python
- 자소서
- Today
- Total
목록Computer Science/자료구조 (2)
산타는 없다
트리는 사이클이 없고 노드와 간선(edge)로 이루어진 자료 구조 입니다. 트리가 나오게 된 이유는 배열과 비교해서 [삽입/삭제/탐색]이 O(logN) 이 걸리기 때문에 빨라 사용하게 되었습니다. (단, 탐색의 경우 편향 트리이면 O(N)의 시간이 걸린다) 노드(Node) : 트리의 최소단위로 값과 자식 노드의 주소를 가지고 있다. 간선(Edge) : 노드와 노드를 연결해주는 선 루트(Root) : 트리의 최상위에 있는 노드. 근노드라고도 한다. 단말 노드 : 자식 노드가 없는 노드. 리프 노드, 말단 노드라고도 한다. 내부 노드 : 부모와 자식 노드를 가진 노드. 트리의 부모 자식 형제 관계 : A의 하위에 B와 C가 연결되어 있을 때 A는 B의 부모노드, B는 A의 자식노드, B와 C는 형제 노드 라..
스택으로 큐를 구현할 때는 2개의 스택을 사용하게 됩니다. 스택 2개를 사용해서 큐의 push와 pop을 구현합니다. 위 이미지 처럼 push를 하게되면 stack input에 쌓이게 됩니다. 이때 pop을 해줄경우 stack input에서 pop한 내용을 그대로 반환하면 그냥 stack이랑 다를게 없습니다. 때문에 pop을 하기 전에 stack input에 있는 값을 하나씩 pop해서 stack out에 push 해줍니다. 그럼 이와 같은 상태가 되고 그 후 stack out에서 pop을 해주면 큐와 같이 FIFO 구조로 pop이 가능합니다 그리고 pop한 다음 스택은 위와 같은 상황이 됩니다. 이때 계속해서 pop을 하는 것이 아닌 중간에 push를 해준다음 다시 pop을 하려면 어떻게 해야할 까요?..