제가 공부한 내용을 정리하는 블로그입니다.
아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
면접 리스트
해시는 무엇인가요?
해시는 특정 값을 해시 함수를 통해 매핑하는 테이블을 의미합니다. 내부적으로 배열을 사용하기에 빠른 탐색 속도를 가집니다. 가능성은 낮지만 해시 함수에 동일한 값이 반환될 시에는 충돌이 일어나는데 이를 해결할 다른 방법이 필요합니다.
그래프는 무엇인가요?
그래프는 노드와 간선으로 이루어진 데이터의 집합을 의미합니다. 그래프에는 양방향 그래프나 단방향 그래프가 있으며 인접행렬이나 인접 리스트를 이용하여 그래프를 표현할 수 있습니다.
트리에 대해서 설명해주세요.
트리는 그래프의 일종으로 계층적 관계를 표현하는 자료구조입니다. 그래프와 마찬가지로 노드와 간선으로 이루어져 있으며 이진트리, 이진탐색 트리, 선형 트리등 트리의 구조에 따라 많은 트리가 존재합니다.
트리가 그래프와 다른점은 사이클이 존재하지 않는 것입니다.
힙에 대해서 설명해주세요
최대 힙을 기준으로 설명드리겠습니다.
힙은 트리 중에서 가장 값이 큰 노드를 루트노드로 가지고 있는 트리를 의미합니다. 따라서 루트 노드를 계속해서 탐색하다보면 내림차순 정렬된 결과 값을 얻을 수 있습니다. 이때 데이터를 삭제할 때에는 heapify를 거치게 되며 데이터를 삽입할 때에도 마찬가지로 heapify 과정을 거치게 됩니다.
따라서 최대값을 가지는 연산에는 O(1)의 값을, 삭제 및 삽입에는 O(logN)의 시간복잡도를 가집니다.
'기술면접 > 자료구조' 카테고리의 다른 글
[기술면접] 자료구조 2 (0) | 2024.12.03 |
---|---|
[기술면접] 자료구조 1 (0) | 2024.12.03 |