Data Structures and Algorithms
with Object-Oriented Design Patterns in C# |
The running times calculated for the various methods of the two sorted list implementations, SortedListAsArray and SortedListAsLinkedList, are summarized below in Table . With the exception of two methods, the running times of the two implementations are asymptotically identical.
sorted list implementation | |||
| SortedList- | SortedList- | |
method | AsArray | AsLinkedList | |
Insert | O(n) | O(n) | |
IsMember | O(n) | O(n) | |
Find | O(n) | ||
Withdraw | O(n) | O(n) | |
this[int]{get} | O(1) | O(n) | |
FindPosition | O(n) | ||
Cursor.Datum{get} | O(1) | O(1) | |
Cursor.Withdraw | O(n) | O(n) |
Neither the SortedListAsArray nor SortedListAsLinkedList implementations required any additional fields beyond those inherited from their respective base classes, OrderedListAsArray and OrderedListAsLinkedList. Consequently, the space requirements analysis of the sorted list implementations is identical to that of the ordered list implementations given in Section .