1.쉬움
배열에서는 느리지만 연결 리스트의 head에서는 빠른 연산은 무엇입니까?
- A맨 앞에 삽입하기
- B5번째 원소에 접근하기
- C인덱스로 마지막 원소 읽기
- D고정 배열의 길이 구하기
2.쉬움
해시 테이블에서 해시 함수는 무엇을 합니까?
- A저장된 키의 개수를 센다
- B키를 테이블의 인덱스에 대응시킨다
- C테이블의 키를 정렬한다
- D테이블의 값을 암호화한다
3.쉬움
방향 그래프란 무엇입니까?
- A사이클이 없는 그래프
- B간선이 한 정점에서 다른 정점으로 향하는 방향을 가진 그래프
- C모든 간선에 가중치가 있는 그래프
- D서로 다른 모든 정점 쌍이 간선으로 연결된 그래프
4.보통
정점 V개, 간선 E개인 그래프에서 인접 리스트는 메모리를 얼마나 사용합니까?
- AO(V²)
- BO(V × E)
- CO(E²)
- DO(V + E)
5.보통
실제로 배열 순회가 같은 길이의 연결 리스트 순회보다 훨씬 빠른 경우가 많은 이유는 무엇입니까?
- A연결 리스트는 항상 원소를 디스크에 저장하기 때문에
- B배열 원소는 연속되어 있어 CPU 캐시를 잘 활용하기 때문에
- C배열 순회는 전체가 O(1)이고 연결 리스트 순회는 O(n)이기 때문에
- D배열은 값 비교에 더 적은 명령어를 쓰기 때문에
6.보통
리스트 중간에 있는 노드에 대한 참조가 있습니다. 어떤 리스트에서 그 노드를 O(1)에 제거할 수 있습니까?
- A이중 연결 리스트
- B동적 배열
- C단일 연결 리스트
- D정렬된 배열
7.어려움
키가 서로 다를 때 유일한 이진 트리를 항상 결정하는 순회 쌍은 무엇입니까?
- A전위 순회와 중위 순회
- B전위 순회와 후위 순회
- C전위 순회만
- D레벨 순서 순회만
8.어려움
위상 정렬을 위한 칸(Kahn) 알고리즘은 진입 차수가 0인 정점을 반복해서 제거합니다. 그런 정점들은 어떤 구조에 보관됩니까?
- A진입 차수가 0인 정점들의 큐(또는 아무 컬렉션)
- B방문한 모든 간선의 스택
- C진출 차수로 정렬된 최대 힙
- D이미 제거된 정점이 어느 것인지 기록하는 인접 행렬
정답표
- 1. A · 맨 앞에 삽입하기
- 2. B · 키를 테이블의 인덱스에 대응시킨다
- 3. B · 간선이 한 정점에서 다른 정점으로 향하는 방향을 가진 그래프
- 4. D · O(V + E)
- 5. B · 배열 원소는 연속되어 있어 CPU 캐시를 잘 활용하기 때문에
- 6. A · 이중 연결 리스트
- 7. A · 전위 순회와 중위 순회
- 8. A · 진입 차수가 0인 정점들의 큐(또는 아무 컬렉션)
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.