#algo

List#card

list is a collection of similar items, in no particular order. In the traditional use of lists as ADTs in algorithms and coding languages, only the first and last item of a list may be viewed, updated and deleted. However, this is not strictly implemented in all coding languages, including Snap! and Snap/Edgy. Unlike mathematical sets, ADT lists can have repeated values.

Array#card

An array is a collection of similar items in a fixed length, non-expandable structure of items that are accessible by index position.

Stack#card

A stack is a collection of similar items where item access is restricted for viewing (top/peek), adding (push) and deleting (pop) at one end of the stack only, referred to as the top of the stack. Items are accessed in order Last In First Out (LIFO).

Queue#card

queue is a collection of similar items where item access is restricted for viewing and deleting (dequeuing) from the front of the queue, while new items can only be added (enqueued) to the back of the queue. Items are accessed in the order First In First Out (FIFO).

Priority Queue#card

priority queue is a collection of similar items where each item is assigned a ranking or priority that determines its importance or urgency. Access is restricted for viewing and deleting from the front of the priority queue. New items, when added, move forward in the priority queue according to the priority ranking given to the item.

Priority queues can be minimum ranking, where the smallest priority item goes further to the front of the priority queue, or they can be maximum ranking, where the largest priority item goes further to the front of the priority queue.

Dictionary#card

dictionary, also known as an associated array, is an information structure of <key, value> pairs where the ‘key’ is used to access the ‘value’ items, which give more detailed information related to the ‘key’.

List/Array Signatures#card

![List Signature.png](List Signature.png)