본문 바로가기
반응형

LinkedList2

Runner 기법 Runner 기법은 일반적으로 링크드 리스트(linked list)와 같은 자료구조에서 사용되는 두 포인터(tortoise and hare) 기법입니다. 이 기법은 다양한 문제를 효율적으로 해결하는 데 유용합니다. 대표적인 예로는 사이클 검출, 중간 지점 찾기, 두 리스트의 교차점 찾기 등이 있습니다. 가장 널리 알려진 것은 Floyd의 사이클 탐지 알고리즘입니다.1. Floyd's Cycle Detection AlgorithmFloyd의 알고리즘은 주로 링크드 리스트에서 사이클이 존재하는지 확인하는 데 사용됩니다. 이 알고리즘은 다음과 같이 작동합니다:두 포인터 설정: 두 개의 포인터를 설정합니다. 하나는 'slow' 포인터, 다른 하나는 'fast' 포인터입니다.포인터 이동:slow 포인터는 한 번에.. 2024. 7. 24.
List - LinkedList 사용하는 방법 1. LinkedList란? Deque, List인터페이스를 구현한 Doubly-Linked list입니다. 2. 특징 - 노드들로 이루어져있으며, 각 Node는 [데이터 | 다음 노드의 주소값]을 갖습니다. - 리스트의 원소에 접근하는 것은 Node를 탐색하여 찾기 때문에 ArrayList보다 느립니다. - ArrayList보다 삽입, 삭제가 용이합니다. - 동기화가 되지 않습니다. 동기화가 되는 LinkedList객체 생성은 다음과 같습니다. List list = Collections.synchronized(new LinkedList(...)); - iterator()를 호출하여 Iterator객체를 가져온 후 LinkedList의 삽입, 삭제명령을 수행하면 ConcurrentModificationE.. 2017. 11. 18.
반응형