• Sorting
–
e.g.
comparison
and
word
operations
• Greedy
algorithms
–
e.g.,
minimum
spanning
tree
• Divide
and
conquer
• Dynamic
programming
• Random-‐Access
models
of
computation
• Turing
machines
and
extended
Church-‐Turing
thesis
• Successive
approximation
algorithms
• Using
linear
programming
• The
P
vs
NP
problem
• Undecidability
and
its
relation
to
Godel’s
incompleteness
theorem
• Randomised
algorithms