본문 바로가기

Computer Science/Data Structure2

[CS /Data Structure] 연결 리스트의 모든 것! [Version] ⦁ 2024.04.05 / [CS /Data Structure] 연결 리스트의 모든 것! 연결 리스트 연결 리스트는 데이터를 담고 있는 노드를 포인터로 연결하여 구성된 자료 구조로, 공간적인 효율성을 극대화시킨다는 특징을 갖는다. 각 노드는 데이터와 다음 노드를 가르키는 포인터로 구성되어 있다. 이에 따라 연결 리스트는 데이터의 삽입과 삭제가 O(1) 시간 복잡도를 가지며 탐색에 대해서는 연결 리스트의 길이에 비례하는 O(n)의 시간 복잡도를 갖는다. 연결리스트는 다음과 같은 종류가 있다. 싱글 연결 리스트 각 노드는 데이터와 다음 노드를 가르키는 하나의 포인터로 구성된다. 각 노드는 다음 노드만을 가리키므로 순방향으로만 탐색이 가능하다. 이중 연결 리스트 각 노드는 데이터와 이전 노드.. 2024. 4. 5.
[CS /Data Structure] 시간복잡도란? [Version] ⦁ 2024.03.16 / [CS /Data Structure] 시간복잡도란? 시간복잡도(Time Complexity)와 공간복잡도(Space Complexity)란? 시간복잡도(Time Complexity) 시간복잡도는 알고리즘의 수행 시간을 평가하는 지표이다. 알고리즘의 입력 크기에 따라 수행되는 연산의 횟수나 실행 시간의 증가율을 나타낸다. 보통 알고리즘의 입력 크기 N에 대해 최악의 경우를 가정하여 표기한다. 빅오 표기법을 사용하여 나타낸다. 공간복잡도(Space Complexity) 공간복잡도는 알고리즘이 수행되는 데 필요한 메모리 공간의 양을 나타내는 지표이다. 알고리즘이 실행되는 동안 필요한 추가적인 메모리의 양을 고려하여 나타낸다. 빅오 표기법을 사용하여 나타낸다. 시간복.. 2024. 3. 16.