1. Stack과 Queue를 설명하고, 탐색,삭제,삽입의 시간복잡도는 어떻게 되는가? Stack은 선입선출(Last-In-First-Out)구조로 먼저 들어온 데이터가 top의 위치하여 먼저 나간다. 삽입, 삭제는 O(1)의 가능하며 탐색은 O(N)의 시간이 소요된다. 함수 호출, 시스템 콜등에 stack이 사용된다. Queue는 선입후출(First-...
TCP, UDP에 대해 설명 TCP란 데이터 통신을 위한 프로토콜의 일종, Transport Layer에서 사용하는 프로토콜로 하위 계층에 사용되는 IP와 엮어 TCP/IP라고도 표현한다. TCP는 Point To Point Service로 양끝에 연결되었다는 정보만 알고있다. 물리적인 자원은 하위 계층인 Ip를 통해 할당되어진다. 또한 Connectio...
1. 정렬되어 있지 않은 링크드리스트에서 중복된 원소를 없애라 임시 버퍼를 사용 할 수 있을 때 링크드리스트를 순회하면서, Hash 테이블에 저장 Hash 테이블에 이미 저장된 데이터라면 삭제한다. 시간복잡도는 O(n)이 소요된다. 임시 버퍼를 사용 할 수 없을 때 버퍼가 없다면 두 개의 포인터를 사용해 문제를 해결 할 수 있다. 현재 포인터와 ru...
1.이진트리, 완전 이진트리, 이진 탐색트리에 대해 설명하라 트리는 하나의 루트를 가지고(엄밀한 그래프 이론에서는 그렇지 않지만 일반적으로 사용하는 트리는 보통 이렇다) 자식노드를 가지며 cycle이 존재하지 않는자료구조이다. 이진트리는 자식노드를 최대 2개까지 가질 수 있는 트리 완전 이진트리는 말단노드를 제외한 모든 노드가 2개의 자식노드를 가지고 있는...