-
[자료구조] Data Structure StackData structure. 2020. 10. 11. 09:53반응형반응형
이전에 Big-O notation에 대하여 공부할 때 이것저것 영상을 찾아보던 중, 설명이 너무 깔끔한 영상이 있었는데, java로 자료구조에 대하여 코딩하는 강의가 있었다.
www.youtube.com/watch?v=whVUYv0Leg0
강의 속도가 너무 빨라 중간중간 멈추어 두고 안에 내용을 이해하는데 집중하였다.
우선 Stack은 LIFO구조이다, Last In First Out 가장 마지막에 들어온 것이, 가장 먼저 나간다는 뜻이다.
스택의 장점은 데이터를 추가하거나, 삭제할 시 연산속도가 상수 시간에 가능하며, 배열처럼 원소들의 이동이 필요하지 않다.
단점으로는 상수 시간에 해당하는 인덱스 항목에 접근할 수 없다.
재귀 알고리즘을 사용할 때에 스택이 유용하다.
Java에서의, Stack의 Method에 대하여 알아보자.
push(T item)
- 해당 item을 Stack의 top에 삽입함.
pop()
- Stack의 top에 있는 item을 삭제하고 해당 item을 반환.
peek()
- Stack의 top에 있는 아이템의 값을 반환해준다. - 제거하지 않고 반환만
empty()
- Stack이 비어있으면 true를 반환 그렇지 않으면 false를 반환함.
search(Object o)
- 해당 Object의 위치를 반환함.
- Stack의 top 위치는 1, 해당 Object가 없으면 -1을 반환함.
git address : github.com/egjeon/data-structure-stack-implemented
반응형'Data structure.' 카테고리의 다른 글
[자료구조] Doubly Linked list (0) 2020.10.11 [자료구조] Data Structure - 자바 Linked List (0) 2020.10.06 [자료구조] Data Structure 자바 - Array List (0) 2020.10.02