SLR4 Data structures Flashcards

1
Q

Text file

A

“A computer file that is structured as a sequence of lines of electronic text (usually using the ASCII or UNICODE character set). Quite often the end of a text file is denoted by a special End of File (EoF) marker.”

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

Binary (non-text file)

A

“A computer file stored in a binary format. It is computer-readable but not human-readable. All executable programs are stored as binary files.”

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

Queue

A

“A dynamic data structure of the form First In First Out (FIFO).”

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

Stack

A

“A dynamic data structure of the form Last In First Out (LIFO).”

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

Graph

A

“A dynamic data structure used to often represent more complex relationships. Typically used to store routing, mapping or network style relationships and their data.”

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

Tree

A

“A non-linear dynamic data structure where data items can be thought of as occurring at different levels. There are links between items at one level and their descendants at the next. Each data item has data that relates in some way to its unique parent node. The data items are usually called nodes with the links known as branches. The top-level node is called the root node.”

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

Hash table

A

“A data structure where the calculated value is used to mark the position in the table where the data item should be stored, enabling it to be accessed directly, rather than forcing a sequential search.”

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

Dictionary

A

“A collection of key-value pairs in which the value is accessible via the associated key.”

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

Vector

A

“A list of numbers, a function, or a way of representing a geometric point in space.”

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

Static data structure

A

“A data structure which is a fixed size when in memory; this means the maximum size needs to be known in advance, as memory cannot be allocated at a later point.”

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

Dynamic data structure

A

“A data structure which, when in memory, has the flexibility to grown and shrink; this allows a programmer to control exactly how much memory is utilised at run time.”

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

Linear queue

A

“A straightforward implementation of a queue data structure. It holds a sequence of items.”

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

Circular queue

A

“An implementation of a queue in which the last node is connected back to the first node to make it circular in nature.”

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

Priority queue

A

“An abstract data type which is similar in many ways to a regular queue. However, in addition, each element in the queue has a priority associated with it.”

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

Push

A

“A process which adds an item to a data structure. Typically, you would ____(add) an item to a queue or stack.”

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

Pop

A

“A process which removes an item from a data structure. Typically, you would ___ (read/remove) an item from a queue or stack.”

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

Peek/top

A

“A process which allows you to inspect a data structure like a stack or queue and returns the item at the front or ‘top’ of the data structure without removing it.”

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

Weighted graph

A

“An edge-labelled graph where the labels where the labels can be operated on by the usual arithmetic operators, including comparisons like less than and greater than.”

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

Vertex/node

A

“A point on a graph which holds a data value.”

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

Edge/arc

A

“A connection between two vertices/nodes on a graph.”

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

Undirected graph

A

“A graph where the order of the vertices in the pairs in the edge set doesn’t matter.”

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

Directed graph

A

“A graph where the order of the vertices in the pairs in the edge set matters.”

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

Adjacency matrix

A

“A square matrix used to represent a finite graph. The elements of the matrix show you whether pairs of vertices (nodes) are adjacent or not in the graph.”

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

Adjacency list

A

“A collection of unordered lists used to represent a finite graph. Each list describes the set of neighbours of a vertex (node) in the graph.”

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

Rooted tree

A

“A tree data structure in which a special (labelled) node is singled out. The node is called the root.”

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

Binary tree

A

“A data structure similar to a tree with additional restrictions. Each node can have only 0, 1 or 2 leaf nodes. All left nodes and all of its descendants have smaller values that the root node, while all right nodes and all of its descendants have larger values than the root node.”

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

Tree node

A

“A point on a tree/binary tree which holds a data value.”

28
Q

Child node

A

“Any node on a tree/binary tree which has a parent node.”

29
Q

Collision

A

“When two different inputs to a hash function produce the same output as a hash value.”

30
Q

Rehashing

A

“Increasing the size of a hash table’s arrays and restoring all of the items into the array using the hash; this typically happens when a hash table starts to become full or when an insertion fails.”

31
Q

Vector addition

A

“The operation of adding two or more vectors together into a vector sum.”

32
Q

Scalar-vector multiplication

A

“The process of multiplying a vector by a scalar. To perform scalar multiplication, you need to multiply the scalar by each component of the vector. A scalar is just a fancy word for a real number.”

33
Q

Dot/scalar product

A

“An algebraic operation that takes two equal-length sequences of numbers (usually coordinate vectors) and returns a single number.”

34
Q

“A computer file that is structured as a sequence of lines of electronic text (usually using the ASCII or UNICODE character set). Quite often the end of a text file is denoted by a special End of File (EoF) marker.”

A

Text file

35
Q

“A computer file stored in a binary format. It is computer-readable but not human-readable. All executable programs are stored as binary files.”

A

Binary (non-text file)

36
Q

“A dynamic data structure of the form First In First Out (FIFO).”

A

Queue

37
Q

“A dynamic data structure of the form Last In First Out (LIFO).”

A

Stack

38
Q

“A dynamic data structure used to often represent more complex relationships. Typically used to store routing, mapping or network style relationships and their data.”

A

Graph

39
Q

“A non-linear dynamic data structure where data items can be thought of as occurring at different levels. There are links between items at one level and their descendants at the next. Each data item has data that relates in some way to its unique parent node. The data items are usually called nodes with the links known as branches. The top-level node is called the root node.”

A

Tree

40
Q

“A data structure where the calculated value is used to mark the position in the table where the data item should be stored, enabling it to be accessed directly, rather than forcing a sequential search.”

A

Hash table

41
Q

“A collection of key-value pairs in which the value is accessible via the associated key.”

A

Dictionary

42
Q

“A list of numbers, a function, or a way of representing a geometric point in space.”

A

Vector

43
Q

“A data structure which is a fixed size when in memory; this means the maximum size needs to be known in advance, as memory cannot be allocated at a later point.”

A

Static data structure

44
Q

“A data structure which, when in memory, has the flexibility to grown and shrink; this allows a programmer to control exactly how much memory is utilised at run time.”

A

Dynamic data structure

45
Q

“A straightforward implementation of a queue data structure. It holds a sequence of items.”

A

Linear queue

46
Q

“An implementation of a queue in which the last node is connected back to the first node to make it circular in nature.”

A

Circular queue

47
Q

“An abstract data type which is similar in many ways to a regular queue. However, in addition, each element in the queue has a priority associated with it.”

A

Priority queue

48
Q

“A process which adds an item to a data structure. Typically, you would ____(add) an item to a queue or stack.”

A

Push

49
Q

“A process which removes an item from a data structure. Typically, you would ___ (read/remove) an item from a queue or stack.”

A

Pop

50
Q

“A process which allows you to inspect a data structure like a stack or queue and returns the item at the front or ‘top’ of the data structure without removing it.”

A

Peek/top

51
Q

“An edge-labelled graph where the labels where the labels can be operated on by the usual arithmetic operators, including comparisons like less than and greater than.”

A

Weighted graph

52
Q

“A point on a graph which holds a data value.”

A

Vertex/node

53
Q

“A connection between two vertices/nodes on a graph.”

A

Edge/arc

54
Q

“A graph where the order of the vertices in the pairs in the edge set doesn’t matter.”

A

Undirected graph

55
Q

“A graph where the order of the vertices in the pairs in the edge set matters.”

A

Directed graph

56
Q

“A square matrix used to represent a finite graph. The elements of the matrix show you whether pairs of vertices (nodes) are adjacent or not in the graph.”

A

Adjacency matrix

57
Q

“A collection of unordered lists used to represent a finite graph. Each list describes the set of neighbours of a vertex (node) in the graph.”

A

Adjacency list

58
Q

“A tree data structure in which a special (labelled) node is singled out. The node is called the root.”

A

Rooted tree

59
Q

“A data structure similar to a tree with additional restrictions. Each node can have only 0, 1 or 2 leaf nodes. All left nodes and all of its descendants have smaller values that the root node, while all right nodes and all of its descendants have larger values than the root node.”

A

Binary tree

60
Q

“A point on a tree/binary tree which holds a data value.”

A

Tree node

61
Q

“Any node on a tree/binary tree which has a parent node.”

A

Child node

62
Q

“When two different inputs to a hash function produce the same output as a hash value.”

A

Collision

63
Q

“Increasing the size of a hash table’s arrays and restoring all of the items into the array using the hash; this typically happens when a hash table starts to become full or when an insertion fails.”

A

Rehashing

64
Q

“The operation of adding two or more vectors together into a vector sum.”

A

Vector addition

65
Q

“The process of multiplying a vector by a scalar. To perform scalar multiplication, you need to multiply the scalar by each component of the vector. A scalar is just a fancy word for a real number.”

A

Scalar-vector multiplication

66
Q

“An algebraic operation that takes two equal-length sequences of numbers (usually coordinate vectors) and returns a single number.”

A

Dot/scalar product