Object-Oriented Design
Arrays and Linked Lists
Big-O
Definitions
Algorithms
100

The OO principle of removing unnecessary detail 

What is abstraction?

100

This has to occur when adding a new element to an array at any index (other than the last index)

What is having to shift all of the elements over to make room for the new element (assuming there is space to begin with)?

100

The scenario one is usually most concerned about when it comes to Big-O (even if it isn't always the case).

What is the worst-case scenario?

100

The data associated with an object of a class.

What are attributes or fields?

100

O(n2) sort where the largest elements accumulate at the end of the array as they are being sorted

What is Bubble sort?

200

This makes the program easier to develop by dividing it into smaller pieces (and also makes it easier to change in the future)

What modularity and/or decomposition?

200

The differentiating component of a node in a Doubly Linked List.

What is the previous (backward) node pointer?

200

The best Big-O time complexity possibility.

What is O(1)?

200

A special value in the reference to the next Link that signals the end of the list

What is None?

200

O(n2) sort where the smallest element always is placed at beginning of the array during the first pass

What is Selection sort?

300

The way software engineers prevent parts of their code from unintentionally being accessed and potentially manipulated

What is encapsulation?

300

The way an element is removed from a Singly Linked List.

What is traversing a list to find an element, and setting its predecessor element to equal element's successor node?

300
The worst Big-O time complexity possibility.

What is O(n!)?

300

FIFO data structure

What is a queue?

300

The postfix representation of a+b*c

What is abc*+?

400

Object2 in the following:

class Object2(Object1):

What is a subclass?

400

The linked list method that performs the equivalent of a stack push

What is add to front?

400

The correct order of O(n), O(n log n), O(1), O(log n ), O(2n) O(n!) and O(n2)

What is O(1), O(log n), O(n), O(n log n), O(n2), O(2n), and O(n!)?

400

LIFO data structure 

What is a stack?

400

A two-ended queue that allows insertion and removal operations at both ends

What is a deque?

500

Examples are __str__, __len__, __eq__

What are magic methods in Python?

500

Allows inserts to be performed at either end in constant time

What's a double-ended list?

500

The Big-O for the best case scenario for the insertion sort algorithm.

What is O(n)?

500

A model of a data structure that specifies the type of data stored, the operations supported on them, and the types of parameters of the operations 

What is an abstract data type?

500

The time required to find the highest priority item in a priority queue

What is O(1)?