linked list2 [04-2] 연결 리스트의 활용 연결 리스트는 앞서 정리한대로 활용성이 매우 뛰어나다. 분명 용량도 크고, 시간도 오래걸리고 복잡도도 크지만 쓰는 데에는 다 이유가 있다. 그래서 활용할 수 있는 Operations들을 정리해보고 구현해보자. - get() 특정 인덱스의 값을 가져온다. 어떻게 해야할까? 1번의 인덱스,,n번의 인덱스 값을 가져오려면? 앞서 든 예시로 보자. 우리반에 18번애 이름을 알고 싶으면? 1번부터 물어서...18번까지 찾으면 된다. 그러면 1번(head)에 접근해서 18번까지 쭉 간다음에 value를 return 하면 되겠지? 즉 n번까지 해야하니까 시간 복잡도는 O(n)이 된다. -insert_at() 특정 위치에 값을 넣고 싶다 어떻게 해야할까? 우선 넣고 싶은 위치(idx)와 값(value)를 받아야겠지. .. 2023. 11. 9. [04-1] 연결 리스트란? Linked List(연결 리스트)는 Node(노드)로 구성되어 있다. 이 Node를 어떻게 구성하냐에 따라 Tree가 될 수도, Graph가 될 수도 있다. Array 리스트는 파이썬에 리스트로 구현되어 있기 때문에 따로 구현을 하지 않았지만, Linked list의 경우 직접 구현하는 것이 매우 중요하다! Linked List? Node 구조가 연결된 형식으로 저장된 구조로, 데이터값과 Next node의 주소값을 저장한다. Linked List의 구조는 다음과 같다. 어디서 많이 본 것 같은데.. 이것을 보니까 블록체인의 구조가 떠올랐다. 블록체인은 이전 해시값을 갖고 있는 차이가 있지만, 어쨌든 연결되어 있지 않은가? 그래서 Node라고 하는것인가 싶기도 그렇다면 리스트랑 차이는 무엇일까? 리스트.. 2023. 11. 9. 이전 1 다음