ITEC33 Flashcards
is a systematic way to organize data in order to use it efficiently.
data structure
represents the set of operations that a data structure supports.
interface
provides the internal representation of a data structure.
implementation
provides the definition of the algorithms used in the operations of the data structure.
implementation
Data structure implementation should implement its interface correctly.
correctness
Running time or the execution time of operations of data structure must be as small as possible.
time complexity
Memory usage of a data structure operation should be as little as possible.
space complexity
characteristics of data structure
correctness, time complexity, space complexity
need for data structure
data search,
processor speed,
multiple request
This is the scenario where a particular data structure operation takes maximum time
worst case
This is the scenario depicting the average execution time of an operation of a data structure
average case
This is the scenario depicting the least possible execution time of an operation of a data structure.
best case
values or set of values
data
refers to a single unit of values
data item
data items that are divided into sub items
group items
data items that cannot be divided
elementary items
an entity which contains certain attributes or properties
attribute and entity
entities of similar attributes
entity set
is a single elementary unit of information representing an attribute of an entity
field
is a collection of field values of a given entity
record
is a collection of records of the entities in a given entity set
file
a step-by-step procedure which defines a set of instructions to be executed in a certain order to get the desired output.
algorithm
uses of algorithms
computer science
mathematics
operations research
artificial intelligence
data science
important categories of algorithm
search
sort
insert
update
delete
characteristics of an algorithm
unambiguous
input
output
finiteness
feasibility
independent
Each of its steps (or phases), and their inputs/outputs should be clear and must lead to only one meaning.
unambiguous
Algorithms must terminate after a finite number of steps.
finiteness
types of algorithms
brute force algorithm
recursive algorithm
backtracking algorithm
searching algorithm
sorting algorithm
hashing algorithm
divide and conquer algorithm
greedy algorithm
dynamic algorithm
randomized algorithm
This is a theoretical analysis of an algorithm.
priori analysis
This is an empirical analysis of an algorithm.
posteriori analysis
measured by counting the number of key operations such as comparisons in the sorting algorithm.
time factor