자료구조(DataStructure)
LinkedList 구현[코틀린 - Kotlin]
실제 LinkedList는 훨씬 더 복잡하게 이루어져있지만.. 링크드 리스트의 원리를 간단히 파악해보기 위하여 삽입, 추가, 삭제 정도의 기능만 간단하게 구현해보았다. LinkedList란? 연결리스트(LinkedList)란 노드로 구성된 리스트 이다! 노드에는 데이터와 다음 노드를 가리키는 포인터가 존재한다. 코틀린에서는 포인터가 존재하지 않으므로 객체를 참조하도록 하였다. 시간복잡도 탐색 특정값을 찾기 위해서는 첫 노드(헤드)부터 순차 탐색을 해야하므로 시간복잡도가 O(N) 삽입 연결리스트는 노드로 이루어져있기 때문에 삽입을 할 때 시간복잡도가 O(1) 포인터를 사용하여 노드에서 포인터만 변경해주면 되기 때문. 삭제 데이터를 삭제하기 위해선 검색과 해당 값을 찾기 위하여 마찬가지로 시간복잡도가 O(N..
2022. 7. 23. 18:19
최근댓글