stanford algorithms course: queues, stacks, linked lists