일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 슬라이스 테스트
- 외부 서비스 장애
- queue
- id생성
- 낙관적 락
- 비관적 락
- JPA
- session인증
- ddl-auto
- 스택
- 베타락
- prg패턴
- 벌크헤드패턴
- 이분탐색
- DP
- 백준
- thundering herd
- 이진탐색
- Stack
- 다중 서버
- BFS
- 자바
- 캐시 스탬피드
- 알고리즘
- 타임아웃
- java
- 예외처리
- expired key
- 트라이 자료구조
- Entity Manager
- Today
- Total
목록스택 (2)
Coding 01
Stack(스택)은 후입선출이라는 개념을 가진 선형 자료구조이다. 스택 자료구조에서 삭제(pop)는 가장 최상단(top)에서만 이루어진다.비어있는 스택에서 값을 추출하려고 시도하는 경우를 스택 언더플로우라고 하며, 스택이 넘치는 경우를 스택 오버플로우라고 한다.사용 사례는 스택 메모리, 브라우저 뒤로가기, 언두 기능, 수식 괄호 검사가 있다. 자바에서는 Stack이라는 클래스가 있다. 하지만 Deque 인터페이스 구현체를 사용하는게 권장된다.Stack 클래스는 내부적으로 Vector를 상속받기 때문에 Stack에서 인덱스를 통한 접근, 삽입, 제거가 가능하다. 그래서 후입선출 특징에 맞지 않게 실수할 수 있기 때문이다. Vector메서드들은 sync로 구현되어있어 멀티 스레드 환경에서는 동기화의 이점이 ..

스택, 큐, 데큐를 공부하면서 알아간 것들과 기억할만한 것들을 정리해보려고 한다. 먼저, 스택이란 나중에 들어간 데이터가 가장 먼저 나온다는 특징을 가진 자료구조이다. 위의 그림을 보면 스택의 push()와 pop() 메서드를 통해 스택의 저장공간에 데이터 요소들을 저장하고 삭제하는 모습이다. pop()을 사용해서 데이터 요소를 제거할 때 가장 최근에 저장되었던 45가 제거되는 모습이다. 위의 사진은 스택에서 자주 사용하는 메소드들이다. 보다시피 pop()을 사용해서 데이터를 제거할 때 배열의 특정 원소를 제거하는 것처럼 원하는 요소를 제거할 수는 없다. pop()을 사용하면 무조건 가장 최상단의 요소값이 제거된다는 점을 기억해야겠다. 정수형으로 스택을 사용하고자 할 때에는 위와 같이 선언하면 된다. 다..