Y12 Unit 0 - Class Structure
Y12 Unit 1 - Computational Thinking
Y12 Unit 2 - Networks
Y12 Unit 3 - OOP
Y12 Unit 4 - System Fundamentals
Abstract Data Structures (HL) Year 13 Unit

Binary Trees Vs. Linked Lists vs. Other Collections

SizingAdvantageDisadvantage
ArrayListDynamic– The linear structure is helpful when ordering elements.
– It can be used to store sorted elements from other ADTs.
– It can grow indefinitely.
-Efficient use of memory for each element
– Slow search as every
element must be looked at.
LinkedListDynamic– Same as ArrayList– Uses more memory because
each node object must be created and stored.
-Slow search
ArrayStatic– The linear structure is helpful
when ordering elements.
– Most efficient memory usage of
all data structures, when used appropriately.
– It can waste a lot of reserved memory
space if initialized with a
big size and most of it is not used.
– Slow search
– Fixed size
Binary Search TreeDynamic– Fast search
– Fast deletion
– Fast insertion
– Can grow indefinitely
– There are many variations that help improve search speeds.
– Uses more memory because
each node object must be created and stored.

Efficiency

InsertionAccessSearchMemory
ArrayListO(1) – excellentO(1) – excellentO(n) – badLow usage
LinkedListO(1) – excellentO(1) – excellentO(n) – badHigh Usage
ArrayO(1) – excellentO(1) – excellentO(n) – badDepends on
the programmer
Binary Search TreeO(log n) – goodO(log n) – goodO(log n) – goodHigh Usage