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
Q

What is meant by “latency”?

A

The time delay that occurs when transmitting data between devices

24
Q

What is an adjacency list?

A

A data structure that stores a list of nodes with their adjacent nodes

25
Q

What is an adjacency matrix?

A

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
Q

What is a node?

A

An object in a graph - aka a vertex

27
Q

What is a tree?

A

A data structure similar to a graph, with no loops

28
Q

What is meant by a root?

A

The starting node in a rooted tree structure from which all other node branch off

29
Q

What is meant by a parent?

A

A type of node in a tree where there a further nodes beneath it

30
Q

What is a child?

A

A node in a tree that has nodes above it in the hierarchy

31
Q

What is a leaf?

A

A node that doesn’t have any other nodes beneath it

32
Q

What is a binary tree?

A

A tree where each node can have up to 2 child nodes attached to it

33
Q

What is a hash table?

A

A data structure that stores key/value pairs based on an index calculated from an algorithm

34
Q

What is meant by a hashing algorithm?

A

Code that creates a unique index from given key items of data

35
Q

What is cache?

A

A high speed temporary area of memory

36
Q

What is a collision in hashing?

A

When a hashing algorithm produces the same index for two or more different keys

37
Q

What is clustering in hashing?

A

When a hashing algorithm produces indices that are not randomly distributed

38
Q

What is meant by index?

A

The location where values will be stored, calculated from the key

39
Q

What is meant by chaining in hashing?

A

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
Q

What is meant by Rehashing?

A

The process of running a hashing algorithm again when a collision occurs

41
Q

What is an associative array?

A

A two dimensional data structure containing key/value pairs of data

42
Q

What is meant by dot product?

A

Multiplying two vectors together to produce a number

43
Q

What is meant by “convex combination”?

A

A method of multiplying vectors that produces a resulting vector within the convex hull

44
Q

What is meant by vector space?

A

A collection of elements that can be formed by adding or multiplying vectors together

45
Q
A