어제자로 학기로부터 해방되어, 평소 꼭 정복해보고 싶었던 자료구조, 그리고 알고리즘에 대해 약간의 정리를 해볼까 합니다. 일종의 Cheatsheet인데요, 나중엔 머릿속에 다 들어와 있겠죠? 코딩테스트 풀이 때, 시간 초과와 메모리 초과로부터 좀 해방될 수 있었으면 좋겠네요. Data Structures Data Structure Purpose Time Complexity (Avg)Space Complexity Additional Notes Array Stores elements of the same type in contiguous memory locations. Access: O(1), Search: O(n), Insertion: O(n), Deletion: O(n) O(n) Fixed size, e..
Linked List는.. 2학년 자료구조 시간에 처음으로 접했던 친구인데요, 당시 Doubly Linked List를 직접 구현하고 접근, 탐색, 삽입/삭제를 모두 구현해오라는 과제에 심히 충격을 받았던 기억이 있습니다. Singly Linked List, Doubly Linked List가 있고요, Singly는 한쪽 방향으로 접근하고, Doubly는 전/후 노드로 접근(탐색) 가능하다는 점이 차이가 있겠네요. Head의 Left는 NULL, Tail의 Right는 NULL로 구성해야 한다는 특이점이 있었구요. Singly는 메모리 사용이 적고, Doubly는 노드의 삽입, 삭제가 상대적으로 빠르다는 특징이 있습니다. 오늘은 구현보다는, 시간복잡도를 복습해보고 Array와 비교해보는 시간을 가졌습니다..