덱 (2) 썸네일형 리스트형 링크드 리스트로 브라우저 히스토리 구현하기 덱 자료구조를 활용한 경우를 찾아보면 브라우저 히스토리나 멀티 스레드 스케줄링 등이 나옵니다. 익숙하고 자주 사용해 본 브라우저 히스토리 API 의 메서드를 링크드 리스트로 구현해보았습니다. 브라우저 히스토리 브라우저 히스토리 API는 브라우저의 세션 히스토리에 접근할 있도록 합니다. 주요 메서드는 다음과 같습니다. back() : 이전 기록으로 이동 forward() : 앞선 기록으로 이동 go(int i) : i 만큼 이동, 음수이면 back, 양수이면 forward와 같음 제약 조건 브라우저 히스토리를 구현할 때 다음을 조건으로 두었습니다. 히스토리의 총 길이는 5이며, 이를 넘어갈 경우 가장 오래된 기록을 삭제합니다. back, forward, go를 모두 구현합니다. 히스토리의 정해진 길이보다 .. 링크드 리스트 링크드 리스트는 리스트 List와 덱 Deque 등을 구현한 클래스입니다. 링크드 리스트에 대해 알아보기 전에 리스트와 덱에 대해 먼저 알아보았습니다. 리스트 인터페이스 리스트 인터페이스는 순서가 있는 컬렉션으로 시퀀스 sequence 라고도 불립니다. 요소가 삽입될 위치를 조정할 수 있고, 인덱스로 요소에 접근할 수 있고, 리스트 내의 요소들을 검색할 수 있습니다. 아래 표는 각 기능을 구현한 메서드에 대한 설명입니다. 인덱스로 요소에 접근하는 메서드 구현한 클래스에 따라 요소를 인덱스로 접근하는데 인덱스의 값에 따라 실행 시간이 소요될 수 있습니다. (예: 링크드 리스트) get 메서드가 여기에 해당합니다. 리스트 내의 요소들을 검색하는 메서드 성능적인 면에서 주의해서 사용해야 하는데, 대부분의 구현.. 이전 1 다음