
STACK (스택)
특징
- LIFO : 후입선출
- TOP(상단)에서 삽입, 삭제 ↔ 중간에서 불가능
✅ 입력의 역순을 출력하는 경우
- 이전 페이지로 이동
- 함수 호출 복귀 주소
- 괄호 검사
stack 응용
- 후위표기법 : 자신보다 우선순위가 크거나 같은 연산자는 스택에서 제거하고, 작은 연산자를 만나면 연산자를 스택에 담는다.
- 깊이 우선 탐색 : 현재 위치를 스택에 담는다. 현재 위치에 지나갔다는 표시 후
1) 스택이 빈 상태이면 출구는 없다.
2) 현재 위치가 출구면, 탐색은 끝난다.
3) 상하좌우 중 갈 수 있는 공간을 모두 스택에 담고, 스택의 top에 있는 공간을 스택에 담는다. -> 반복
PYTHON
stack 관련 함수
🔻 list()의 맨 뒤를 스택의 top이라고 생각하며 이용
- isEmpty
- push(e) : e 항목을 맨 위에 추가
- pop() : 맨 위 항목을 반환
- size
- peek : 맨 위 항목 확인 (pop으로 확인 후 다시 push)
- clear : 스택을 공백 상태로(모두 pop)
JAVA
숫자 자료형
- 정수 자료형의 데이터 표현 범위 대략
- byte (1byte) : -128 ~ 127
- short(2byte) : -32,768 ~ 32,767
- int (4byte) : 약 2x(1000)^3 x2
- long (8byte) : 약 9x(1000)^9 x2
- 실수 자료형의 데이터 표현 범위
- float (4byte) : 3.4 x 10^(-38) ~ 3.4 x 10^(38)
- double(8byte) : 1.7 X 10^(-308) ~ 1.7 X 10^(308)
interface
-
Interface : 다른 장치들이 데이터 주고 받을 수 있는 규격
- 객체 생성 불가 ↔ 레퍼런스 변수 선언 가능
- 인터페이스끼리 상속이 가능하며, 상속 받은 쪽에서 모든 추상 메소드 구현이 필요
// 인터페이스 상속
Interface XXX extends ~Interface, ~Interface {}
// 추상 메소드 구현
class ~ implements XXX {}
stack 관련 함수
🔻 char [] 의 맨 뒤를 스택의 top이라고 생각하며 이용