: p. 51의 확인 문제 3번, p. 65의 확인 문제 3번 풀고 인증하기
프로그램이 실행되려면 반드시 _______
에 저장되어 있어야 합니다.
☞ 정답 : '주기억장치 (RAM; 메모리)'
주기억장치
2진수 1101의 음수를 2의 보수 표현법으로 구해 보세요.
☞ 정답 : 0011
⓪ 초기값 : 1101
① 1의 보수 (모든 0과 1을 뒤집는다) : 0010
② 2의 보수 (1의 보수 + 1 더하기) : 0011
: p. 100의 스택과 큐의 개념을 정리하기
'프링글스 통'을 생각해보면 된다.
반드시 맨 위에 쌓인 것(후입)부터 먼저 꺼내 먹어야 밑에 깔린 것(선입)을 꺼낼 수 있다.
empty()
: stack이 empty(빈) 상태인지 아닌지에 대한 결과를 반환한다
– Time Complexity: O(1)
size()
: stack의 크기를 반환한다
– Time Complexity: O(1)
top() / peek()
: stack의 맨 위의 element에 대한 참조를 반환한다
– Time Complexity: O(1)
push(a)
: stack의 맨 위에 'a' element를 삽입한다
– Time Complexity: O(1)
pop()
: stack의 맨 위의 element를 삭제한다
– Time Complexity: O(1)
이름 그대로, 일반적인 '줄 서기'를 생각해보면, 먼저 온 사람이 먼저 나가는 게 인지상정(?)일 것이다.
물론, Queue의 일종으로 'Priority Queue'라고 해서 특정 조건에 따라 우선순위를 부여할 수 있기도 하다.
Enqueue
: queue에 item을 추가한다. 만약 queue가 full(꽉 찬) 상태라면, 오버플로우 상태임을 말해준다.
– Time Complexity : O(1)
Dequeue
: queue에서 item을 삭제한다. item들은 집어넣어진 순서대로 pop된다. 만약 queue가 empty(빈) 상태라면, 언더플로우 상태임을 말해준다.
– Time Complexity : O(1)
Front
: queue로부터 맨 앞 item을 가져온다
– Time Complexity : O(1)
Rear
: queue로부터 맨 뒤 item을 가져온다
– Time Complexity : O(1)