Prog Paradigms and Data Structures Flashcards

1
Q

Explain what is the asymptotic notation and why this is important.

A

In computer science, the asymptotic notation, represented by the Big O notation, is used to analyse the complexity of an algorithm according to the input size. It provides information about how long an algorithm will take to run in its worst-case scenario, considering a constantly growing input. This analysis can help the developer to predict how long an algorithm will take to run, helping to make better decisions concerning the algorithm design.

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

How linked lists work and why using pointers is important when implementing a linked list in C language.

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

Algorithm Design - Brute Force
Definition, Examples - Pros and Cons

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

Bubble Sort - Definition

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

Algorithm Design - Divide and Conquer
Definition, Examples and Diagram

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

Quick Sort - Definition

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

Merge Sort - Definition

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

Algorithm Design - Decrease and Conquer
Definition, Examples and Diagram

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

Binary Search - Definition

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

Selection Sort - Definition

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

Insertion Sort - Definition

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

Selection Sort x Insertion Sort

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

Algorithm Analyses - Give the 3 points and their definitions

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

Which algorithms tend to be less efficient and which tend to be more efficient?

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

Merge Sort - Memory Requirements and Stability

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

Quick Sort - Memory Requirements and Stability

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

Tim Sort - Definition and Steps

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

Big O - Complexities - provide the list of how it grows with their name, definition and examples

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

Bubble Sort - Big O Notation - Worst Case Scenario and Best Case Scenario

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

Quick Sort - Big O Notation - Worst Case Scenario and Best Case Scenario

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

Merge Sort - Big O Notation - Worst Case Scenario and Best Case Scenario

22
Q

Selection Sort - Big O Notation - Worst Case Scenario and Best Case Scenario

23
Q

Insertion Sort - Big O Notation - Worst Case Scenario and Best Case Scenario

24
Q

Linear Search - Big O Notation - Worst Case Scenario and Best Case Scenario

25
Binary Search - Big O Notation - Worst Case Scenario and Best Case Scenario
26
Efficiency Comparison - definition, key aspects, formula and how to calculate log on the calculator
27
Structures - Definition and Code Example
28
Pointers - Definition
29
Referencing x Dereferencing
30
& Ampersand x * Asterisk
31
Pointer Application
32
Dynamic Memory - Stack Memory x Heap
33
Malloc () - Definition
34
Calloc () - Definition
35
Free () - Definition
36
Realloc () - Definition
37
Stacks - Definition, Diagram, Operators and Application
38
Queues - Definition, Diagram, Operators and Application
39
Linked Lists - Definition, Steps and the Structure
40
Binary Tree - Definition, Diagram and Structure
41
Imperative Languages x Declarative Languages
42
What is a program paradigm - definition, types and examples.
43
Procedural - Example, definition and Best Choice When:
44
Object Oriented Programming - Example, definition and Best Choice When:
45
OOP Principles
46
OOP Architecture
47
Logic - Example, definition and Best Choice When:
48
Reactive - Example, definition and Best Choice When:
49
Functional - Example, definition and Best Choice When:
50
Explain the importance of choosing the right pivot.
51
Merge and Quick sort which is recommend to the size of the array. Smaller or bigger.