RAM
random-access machine
RAM computations take ______ time
constant
data structure
a structure to store and organise data in the memory in order to facilitate access and modifications
algorithm
an unambiguous way of doing a task
How do we know an algorithm is correct?
it halts
it solves the given problem and outputs the correct solution
Important questions for designing an algorithm
How to store the data?
Is it correct?
How much time and space does it require?
abstract data types
they describe what we can do with the data, but not how
dictionary operations
serach, insertion, deletion