스택

    [자료구조] 자바스크립트로 스택(Stack) 구현하기

    스택(Stack) 블록을 아래에서 부터 위로 쌓아 올리는 구조를 가지고 있습니다. 가장 마지막에 삽입한 데이터를 가장 먼저 사용하게 됩니다. 이러한 자료구조의 특성을 LIFO(Last-in, First-out)라고 합니다. 시간 복잡도 삽입 O(1) 삭제 O(1) 검색 O(n) 삽입과 삭제는 맨 위에서 모두 진행이 되기 때문에 O(1)의 시간복잡도를 가집니다. 검색은 스택안의 데이터를 찾을 때 까지 진행되기 때문에 O(n)의 시간복잡도를 가지게 됩니다. 자바스크립트 코드 스택은 자바스크립트에서 쉽게 구현할 수 있습니다. 자바스크립트 내장 메소드인 pop()과 push()를 이용하면 됩니다. 자바스크립트에서 배열을 하나 생성하고, 아이템을 넣고 싶다면 push(아이템) 아이템을 빼고 싶다면 pop() 을 ..

    [알고리즘] DFS & BFS 알기

    참고 영상 나동빈 유튜브 이코테 2021 강의 몰아보기 : DFS & BFS 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 탐색이라고 한다. DFS & BFS는 대표적인 그래프 탐색 알고리즘이다. DFS 와 BFS를 공부하기전에 무조건 알아야 할 자료구조 두 가지 스택과 큐를 알아야 한다. 스택 먼저 들어 온 데이터가 나중에 나가는 형식(선입후출)의 자료구조 대표적인 예시 : 박스 쌓기 스택 자료구조는 삽입과 삭제의 연산으로 이루어진다. 파이썬에서 스택을 사용하려면 단순하게 list로 사용하면 된다. stack = [] stack.append(1) # 1 stack.append(3) # 1 - 3 stack.append(5) # 1 - 3 - 5 stack.append(7) # 1 - 3 - 5 ..