Vector (ADT)

From Notes
Jump to navigation Jump to search

A vector is the simplest indexed data type. It is essentially an abstraction of an array.


Functions

  • int size() — Returns how many items are in the vector.
  • bool isEmpty() — Returns whether the vector is empty (i.e. size is 0).
  • Object elemAtRank(Rank r) — Returns the element stored at rank Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle r} (similar to [] operator).
  • void replaceAtRank(Rank r, Object o) — Puts an object Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle o} at the specified rank Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle r} .
  • void insertAtRank(Rank r) — Inserts an element at rank Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle r} and shifts all following items down a rank.
  • void removeAtRank(Rank r) — Removes an element from rank and shifts all following items up a rank to fill in the gap.


Implementations

Array-based

  • Use an array of actual size , but keep track of true size with an auxiliary variable
  • Fixed or growable does not affect the speed


Analysis

  best average worst
elemAtRank
replaceAtRank
insertAtRank
removeAtRank Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle O(n)}
[ template ] Abstract Data Types (ADTs)
Ordered Access to Elements StackQueueDouble-Ended Queue (Deque)
Random Access to Elements VectorListSequence
Key/Value Pairs TreeBinary TreePriority QueueHeapDictionarySkip List
Sorted Storage Binary Search TreeAVL TreeRed-Black Tree