I know that arrays, linear linked lists and binary trees represent collections of items. I would like to get a better view of their implementation. Can anyone provide their opinions in so far as which one is better, and why? If you had to choose between them what would make you choose each one?