ITEC33 Flashcards

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
Q

characteristics of an algorithm

A

unambiguous
input
output
finiteness
feasibility
independent

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

Each of its steps (or phases), and their inputs/outputs should be clear and must lead to only one meaning.

A

unambiguous

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

Algorithms must terminate after a finite number of steps.

A

finiteness

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

types of algorithms

A

brute force algorithm
recursive algorithm
backtracking algorithm
searching algorithm
sorting algorithm
hashing algorithm
divide and conquer algorithm
greedy algorithm
dynamic algorithm
randomized algorithm

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

This is a theoretical analysis of an algorithm.

A

priori analysis

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

This is an empirical analysis of an algorithm.

A

posteriori analysis

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

measured by counting the number of key operations such as comparisons in the sorting algorithm.

A

time factor

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

measured by counting the maximum memory space required by the algorithm.

A

space factor

33
Q

need for algorithm

A

efficiency
consistency
scalability
automation
standardization

34
Q

Algorithms can perform tasks quickly and accurately, making them an essential tool
for tasks that require a lot of calculations or data processing.

A

efficiency

35
Q

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.

A

consistency

36
Q

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.

A

scalability

37
Q

Algorithms can automate repetitive tasks, reducing the need for human intervention and freeing up time for other tasks.

A

automation

38
Q

Algorithms can be standardized and shared among different teams or organizations, making it easier for people to collaborate and share knowledge.

A

standardization

39
Q

represents the amount of time required by the algorithm to run to completion.

A

time complexity

40
Q

represents the amount of memory space required by the algorithm in its life cycle.

A

space complexity

41
Q

components of space complexity

A

fixed part
variable part

42
Q

is a space required to store certain data and variables, that are independent of the size of the problem.

A

fixed part

43
Q

is a space required by variables, whose size depends on the size of the problem.

A

variable part

44
Q

refers to defining the mathematical boundation /framing of its run-time performance.

A

asymptotic analysis

45
Q

refers to computing the
running time of any operation in
mathematical units of computation.

A

asymptotic analysis

46
Q

commonly used asymptotic notations

A

big oh notation
theta notation
omega notation

47
Q

formal way to express the upper bound
of an algorithm’s running time.

A

big oh notation

48
Q

formal way to express both the lower bound and the upper bound of an algorithm’s running time.

A

theta notation

49
Q

formal way to express the lower
bound of an algorithm’s running time.

A

omega notation

50
Q

the closest solution that seems to provide an optimum solution is chosen.

A

greedy algorithm

51
Q

greedy algorithms example

A

travelling salesman problem
graph - map coloring
graph - vertex cover
and more hehe

52
Q

it is divided into smaller sub-problems and then each problem is solved independently.

A

divide and conquer approach

53
Q

examples of divide and conquer approach

A

merge sort
quick sort
binary search
and more hehe katamad ilagay yung iba eh

54
Q

These sub-problems are not solved independently.
Results of these smaller sub-problems are remembered and used for similar or overlapping sub-problems.

A

dynamic programming approach

55
Q

(dynamic or greedy)
sub problems are solved first

A

dynamic

56
Q

(dynamic or greedy)
top-down approach

A

greedy

57
Q

(dynamic or greedy)
bottom-up approach

A

dynamic

58
Q

example of dynamic programming approach

A

Fibonacci number series
Tower of Hanoi
Project scheduling
and more… hehe lam mo na

59
Q

is a sequence of data structures, which are connected together via links.

A

linked list

60
Q

Each link of a linked list can store a data called _______

A

element

61
Q

type of linked list

A

simple
doubly
circular

62
Q

item can be navigated forward only

A

simple linked list

63
Q

items can be navigated forward and backward

A

doubly linked list

64
Q

Last item contains link of the first element as next and the first element has a link to the last element as previous

A

circular linked list

65
Q

basic operations supported by a list

A

insertion
deletion
display
search
delete

66
Q

basic operations in doubly linked list

A

insertion
deletion
insert last
delete last
insert after
delete
display forward
display backward

67
Q

basic operations of circular linked list

A

insert
delete
display

68
Q

simplest approach to a problem

A

brute force algorithm

69
Q

a problem is broken into several sub-parts and called the same function again and again

A

recursive algorithm

70
Q

builds the solution by searching among all possible solutions

A

backtracking algorithm

71
Q

the ones that are used for searching or groups of elements from a particular data structure

A

searching algorithms

72
Q

arranging a group of data in a particular manner according to the requirement

A

sorting algorithm

73
Q

work similarly to the searching algorithm but the contain an index with a key ID

A

hashing algorithm

74
Q

breaks a problem into sub-problems, solves a single sub-problem and merges the solutions to get the final solution

A

divide and conquer algorithm

75
Q

divide and conquer algorithm steps

A

divide
solve
combine

76
Q

the solution is built part-by-part

A

greedy algorithm

77
Q

uses the concept of using the already found solution to avoid repetitive calculation of the same part of the problem

A

dynamic algorithm

78
Q

use a random number so it gives immediate benefit

A

randomized algorithm

79
Q

smallest possible sub-problem is solved

A

atomic