Save
Data Structure and Algoritims (F28DA)
Week 1
Save
Share
Learn
Content
Leaderboard
Learn
Created by
ImmenseHeron2022
Visit profile
Cards (14)
Abstract Data Types
(
ADT
)
High-level descriptions of data structures focusing on
operations
rather than implementations (e.g., stacks,
queues
)
Space Usage
The amount of
memory
an algorithm or program requires to
execute
Complexity
Measures how the
time
or space usage of an algorithm grows as the
input
size increases
Primitive Operations
Basic operations an algorithm performs, like comparisons or assignments. These should take
constant
time in the
RAM
model
Complexity Scenarios
Best-case
Average-case
Worst-case
Run Time
The time taken by a program or algorithm to complete
execution
Big-O Notation
A mathematical notation describing the upper bound or worst-case
complexity
of an algorithm in terms of the
input
size
Logarithmic Complexity, O(log n)
Complexity where the performance grows
logarithmically
with the
input
size
Linear
Complexity, O(n)
Complexity where the performance grows
linearly
with the
input
size
Quadratic Complexity, O(n2)
Complexity where the
performance grows quadratically
with the
input size
Linarethmic complexity, O(n log n)
Complexity often seen in efficient sorting algorithms like
Merge
Sort or
Heap
Sort
Cubic
Complexity, O(
n3
)
Complexity where the performance
grows
cubically with the
input
size
Exponential Complexity, O(
2n
)
Complexity where the performance grows
exponentially
with the
input
size
Simplifying Functions in Big-O Notation
Rules to simplify expressions describing
complexity
, like dropping
lower-order
terms or constants