[DS] LinkedList
·
🔻Computer Science/Data Structure
❗LinkedList란?LinkedList란 각 데이터 요소가 노드 형태로 존재하고 각 노드가 다음 노드를 가리키며 연결된 형태를 가진다. 연결 구조 덕분에 데이터의 삽입과 삭제가 유연하게 가능하여 이 점에서는 배열보다 유리하다고 할 수 있다.노드(Node)연결 리스트에서 각 데이터를 담고 있는 단위각 노드는 데이터와 다음 노드를 가리키는 포인터를 가지고 있음헤드(Head)리스트의 첫 번째 노드를 가리키는 포인터연결 리스트는 첫 번째 노드부터 시작해서 다음 노드를 따라가면서 데이터를 조회포인터(Pointer)다음 노드의 위치를 가리키는 참조연결 리스트는 각 노드가 포인터를 통해 다음 노드의 위치를 알고 있음   ❗ LinkedList 종류단일 연결 리스트(Singly Linked List):각 노드가 하..
[DS] Trie(트라이)
·
🔻Computer Science/Data Structure
❗Trie란?Trie(트라이)는 문자열을 저장하고 효율적으로 검색하기 위한 트리 기반 자료구조이다. 특히 문자열의 접두사(prefix) 검색에 강점이 있고 자동 완성, 사전 검색, 문자열 집합에서의 중복 확인 등에 유용히다각 노드는 하나의 문자를 저장하고 자식 노드로 이어지는 링크들을 가지며 루트에서 시작해 각 문자를 따라가면 하나의 문자열이 완성된다. 루트 노드는 아무 문자도 저장하지 않고 자식 노드들로 각 문자가 연결각 노드는 문자와 자식 노드들을 가짐단어의 끝을 표시하는 종료 노드가 필요하며 보통 플래그로 설정  ❗Trie의 복잡도삽입/탐색 시간복잡도O(L) (L은 문자열의 길이) 문자열의 길이에 비례하기 때문에 길이가 짧을수록 빠른 퍼포먼스를 낼 수 있다. 공간복잡도O(∑L) (저장된 모든 문자열..
_니지
'🔻Computer Science/Data Structure' 카테고리의 글 목록