주문 유지 보수 문제점 (또는 "목록의 주문 유지")은 조작을 지원하는 것입니다.
singleton
: 하나의 항목으로 목록을 작성하고 이에 대한 포인터를 리턴합니다.insertAfter
: 항목에 대한 포인터가 주어지면 그 뒤에 새 항목을 삽입하고 새 항목에 대한 포인터를 반환합니다.delete
: 항목에 대한 포인터가 주어지면 목록에서 제거합니다.minPointer
: 동일한 목록의 항목에 대한 두 개의 포인터가 주어지면 목록의 앞쪽에 더 가까운 것을 반환합니다.
모든 작업을 상각 한 시간 에 수행하는이 문제에 대한 세 가지 솔루션을 알고 있습니다. 그들은 모두 곱셈을 사용합니다.
- Athanasios K. Tsakalidis : 일반화 된 연결 목록에서 순서 유지
- Dietz, P., D. Sleator, 목록에서 순서를 유지하기위한 두 가지 알고리즘
- Michael A. Bender, Richard Cole, Erik D. Demaine, Martin Farach-Colton 및 Jack Zito,“목록에서 순서를 유지하기위한 두 가지 단순화 된 알고리즘”
A C 0이 아닌 산술 연산을 사용하지 않고 상각 시간 의 목록으로 주문을 유지할 수 있습니까 ?
곱셈은 최근 (펜티엄 III부터) 있었습니다. 곱셈을 사용하는 솔루션을 포함시킬 수 있습니까?
—
AT
내가 이것에 대해 읽은 곳을 찾았습니다. 그것은 III이 아닌 펜티엄 4에 관한 것이고; 곱셈을 구현하지 않고 그 프로세서의 새로운 지시로 문제를 해결하지 못했습니다 .M. Thorup, 필라델피아의 이산 알고리즘에 관한 제 14 차 연례 ACM-SIAM 심포지엄 진행에서 '퓨전 트리 및 원자 힙의 AC0 구현' PA, USA, 2003, 699–707 쪽.
—
AT