ITEC33 Flashcards

(79 cards)

1
Q

is a systematic way to organize data in order to use it efficiently.

A

data structure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

represents the set of operations that a data structure supports.

A

interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

provides the internal representation of a data structure.

A

implementation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

provides the definition of the algorithms used in the operations of the data structure.

A

implementation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Data structure implementation should implement its interface correctly.

A

correctness

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Running time or the execution time of operations of data structure must be as small as possible.

A

time complexity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Memory usage of a data structure operation should be as little as possible.

A

space complexity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

characteristics of data structure

A

correctness, time complexity, space complexity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

need for data structure

A

data search,
processor speed,
multiple request

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

This is the scenario where a particular data structure operation takes maximum time

A

worst case

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

This is the scenario depicting the average execution time of an operation of a data structure

A

average case

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

This is the scenario depicting the least possible execution time of an operation of a data structure.

A

best case

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

values or set of values

A

data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

refers to a single unit of values

A

data item

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

data items that are divided into sub items

A

group items

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

data items that cannot be divided

A

elementary items

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

an entity which contains certain attributes or properties

A

attribute and entity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

entities of similar attributes

A

entity set

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

is a single elementary unit of information representing an attribute of an entity

A

field

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

is a collection of field values of a given entity

A

record

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

is a collection of records of the entities in a given entity set

A

file

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

a step-by-step procedure which defines a set of instructions to be executed in a certain order to get the desired output.

A

algorithm

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

uses of algorithms

A

computer science
mathematics
operations research
artificial intelligence
data science

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

important categories of algorithm

A

search
sort
insert
update
delete

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
characteristics of an algorithm
unambiguous input output finiteness feasibility independent
26
Each of its steps (or phases), and their inputs/outputs should be clear and must lead to only one meaning.
unambiguous
27
Algorithms must terminate after a finite number of steps.
finiteness
28
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
29
This is a theoretical analysis of an algorithm.
priori analysis
30
This is an empirical analysis of an algorithm.
posteriori analysis
31
measured by counting the number of key operations such as comparisons in the sorting algorithm.
time factor
32
measured by counting the maximum memory space required by the algorithm.
space factor
33
need for algorithm
efficiency consistency scalability automation standardization
34
Algorithms can perform tasks quickly and accurately, making them an essential tool for tasks that require a lot of calculations or data processing.
efficiency
35
Algorithms are repeatable and produce consistent results every time they are executed. This is important when dealing with large amounts of data or complex processes.
consistency
36
Algorithms can be scaled up to handle large datasets or complex problems, which makes them useful for applications that require processing large volumes of data.
scalability
37
Algorithms can automate repetitive tasks, reducing the need for human intervention and freeing up time for other tasks.
automation
38
Algorithms can be standardized and shared among different teams or organizations, making it easier for people to collaborate and share knowledge.
standardization
39
represents the amount of time required by the algorithm to run to completion.
time complexity
40
represents the amount of memory space required by the algorithm in its life cycle.
space complexity
41
components of space complexity
fixed part variable part
42
is a space required to store certain data and variables, that are independent of the size of the problem.
fixed part
43
is a space required by variables, whose size depends on the size of the problem.
variable part
44
refers to defining the mathematical boundation /framing of its run-time performance.
asymptotic analysis
45
refers to computing the running time of any operation in mathematical units of computation.
asymptotic analysis
46
commonly used asymptotic notations
big oh notation theta notation omega notation
47
formal way to express the upper bound of an algorithm's running time.
big oh notation
48
formal way to express both the lower bound and the upper bound of an algorithm's running time.
theta notation
49
formal way to express the lower bound of an algorithm's running time.
omega notation
50
the closest solution that seems to provide an optimum solution is chosen.
greedy algorithm
51
greedy algorithms example
travelling salesman problem graph - map coloring graph - vertex cover and more hehe
52
it is divided into smaller sub-problems and then each problem is solved independently.
divide and conquer approach
53
examples of divide and conquer approach
merge sort quick sort binary search and more hehe katamad ilagay yung iba eh
54
These sub-problems are not solved independently. Results of these smaller sub-problems are remembered and used for similar or overlapping sub-problems.
dynamic programming approach
55
(dynamic or greedy) sub problems are solved first
dynamic
56
(dynamic or greedy) top-down approach
greedy
57
(dynamic or greedy) bottom-up approach
dynamic
58
example of dynamic programming approach
Fibonacci number series Tower of Hanoi Project scheduling and more... hehe lam mo na
59
is a sequence of data structures, which are connected together via links.
linked list
60
Each link of a linked list can store a data called _______
element
61
type of linked list
simple doubly circular
62
item can be navigated forward only
simple linked list
63
items can be navigated forward and backward
doubly linked list
64
Last item contains link of the first element as next and the first element has a link to the last element as previous
circular linked list
65
basic operations supported by a list
insertion deletion display search delete
66
basic operations in doubly linked list
insertion deletion insert last delete last insert after delete display forward display backward
67
basic operations of circular linked list
insert delete display
68
simplest approach to a problem
brute force algorithm
69
a problem is broken into several sub-parts and called the same function again and again
recursive algorithm
70
builds the solution by searching among all possible solutions
backtracking algorithm
71
the ones that are used for searching or groups of elements from a particular data structure
searching algorithms
72
arranging a group of data in a particular manner according to the requirement
sorting algorithm
73
work similarly to the searching algorithm but the contain an index with a key ID
hashing algorithm
74
breaks a problem into sub-problems, solves a single sub-problem and merges the solutions to get the final solution
divide and conquer algorithm
75
divide and conquer algorithm steps
divide solve combine
76
the solution is built part-by-part
greedy algorithm
77
uses the concept of using the already found solution to avoid repetitive calculation of the same part of the problem
dynamic algorithm
78
use a random number so it gives immediate benefit
randomized algorithm
79
smallest possible sub-problem is solved
atomic