Section 2: Fundamentals of data structures Flashcards

1
Q

What is an array?

A

A set of related data items stored under a single identifier

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

What is a “static” data structure?

A

A method of storing data where the amount of data stored (and memory required to store it) is fixed

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

What is a “dynamic” data structure?

A

A method of storing data where the amount of data stored(and the memory required to store it) can vary while the program is being run

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

What is meant by a “LIFO” structure?

A

Last In First Out

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

What is meant by a “FIFO” structure?

A

First In First Out

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

What type of structure is a “stack”?

A

LIFO

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

What is a stack?

A

A structure where the last item of data added is the first to be dealt with when the data is looked at/ referenced

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

What is a stack frame?

A

When a stack is used to store information about a running program. A pointer is used to identify the start point of the frame

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

What is an interrupt?

A

A signal sent by a device or program to the processor requesting its attention

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

What is recursion?

A

When a subroutine calls on itself

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

What type of structure is a “queue”?

A

FIFO

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

What is a queue?

A

A structure where the first item of data added is the first item to be looked at when the data is looked at / referenced

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

When are queue structures used?

A

Peripherals, e.g. keyboard

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

What is meant by a “circular” queue?

A

A type of queue that can be represented in a circular format, where the front of the queue is joined to the back of the queue.

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

What is meant by a “linear” queue?

A

A standard queue, the data can be represented as a line. However the maximum size of the queue is fixed in this case

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

What is another word for a “circular queue”?

A

Circular buffer

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

What is a “priority” queue?

A

A priority queue is identical to a standard queue apart from how it adds a priority to each item. This allows higher priority items to “skip” the lower priority items in the queue.

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

What is a graph?

A

A mathematical structure that models the relationship between pairs of objects

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

What is an “arc”?

A

A join or relationship between 2 nodes, aka an “edge”

18
Q

What are vertex/vertices?

A

Objects in a graph (aka nodes)

19
Q

What is an edge?

A

A join or relation between 2 nodesW

20
Q

What is a weighted graph?

A

A graph where the edges (joins between nodes) have values

21
Q

What is a undirected graph?

A

A graph with edges that have no defined direction

22
Q

What is a directed graph?

A

A graph with edges that point in defined directions

23
What is meant by "latency"?
The time delay that occurs when transmitting data between devices
24
What is an adjacency list?
A data structure that stores a list of nodes with their adjacent nodes
25
What is an adjacency matrix?
A data structure set up as a two dimensional array or grid that shows whether there is an edge between each pair of nodes
26
What is a node?
An object in a graph - aka a vertex
27
What is a tree?
A data structure similar to a graph, with no loops
28
What is meant by a root?
The starting node in a rooted tree structure from which all other node branch off
29
What is meant by a parent?
A type of node in a tree where there a further nodes beneath it
30
What is a child?
A node in a tree that has nodes above it in the hierarchy
31
What is a leaf?
A node that doesn't have any other nodes beneath it
32
What is a binary tree?
A tree where each node can have up to 2 child nodes attached to it
33
What is a hash table?
A data structure that stores key/value pairs based on an index calculated from an algorithm
34
What is meant by a hashing algorithm?
Code that creates a unique index from given key items of data
35
What is cache?
A high speed temporary area of memory
36
What is a collision in hashing?
When a hashing algorithm produces the same index for two or more different keys
37
What is clustering in hashing?
When a hashing algorithm produces indices that are not randomly distributed
38
What is meant by index?
The location where values will be stored, calculated from the key
39
What is meant by chaining in hashing?
A technique for generating a unique index when there is a collision by adding the key/value to a list stored at the same index.
40
What is meant by Rehashing?
The process of running a hashing algorithm again when a collision occurs
41
What is an associative array?
A two dimensional data structure containing key/value pairs of data
42
What is meant by dot product?
Multiplying two vectors together to produce a number
43
What is meant by "convex combination"?
A method of multiplying vectors that produces a resulting vector within the convex hull
44
What is meant by vector space?
A collection of elements that can be formed by adding or multiplying vectors together
45