1. Introduction to Data Structures and Algorithms Flashcards

1
Q

data structure

A

A data structure is a way of organizing, storing, and performing operations on data.

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

record

A

A record is the data structure that stores subitems, often called fields, with a name associated with each subitem.

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

array

A

An array is a data structure that stores an ordered list of items, where each item is directly accessible by a positional index.

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

linked list

A

A linked list is a data structure that stores an ordered list of items in nodes, where each node stores data and has a pointer to the next node.

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

binary tree

A

A binary tree is a data structure in which each node stores data and has up to two children, known as a left child and a right child.

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

hash table

A

A hash table is a data structure that stores unordered items by mapping (or hashing) each item to a location in an array.

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

max-heap

A

A max-heap is a tree that maintains the simple property that a node’s key is greater than or equal to the node’s childrens’ keys.

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

min-heap

A

A min-heap is a tree that maintains the simple property that a node’s key is less than or equal to the node’s childrens’ keys.

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

graph

A

A graph is a data structure for representing connections among items, and consists of vertices connected by edges.

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

vertex

A

A vertex represents an item in a graph.

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

edge

A

An edge represents a connection between two vertices in a graph.

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

algorithm

A

An algorithm describes a sequence of steps to solve a computational problem or perform a calculation.

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

computational problem

A

A computational problem specifies an input, a question about the input that can be answered using a computer, and the desired output.

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

NP-complete

A

NP-complete problems are a set of problems for which no known efficient algorithm exists.

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

abstract data type / ADT

A

An abstract data type (ADT) is a data type described by predefined user operations, such as ‘insert data at rear,’ without indicating how each operation is implemented.

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

list

A

A list is an ADT for holding ordered data.

17
Q

dynamic array

A

A dynamic array is an ADT for holding ordered data and allowing indexed access.

18
Q

stack

A

A stack is an ADT in which items are only inserted on or removed from the top of a stack.

19
Q

queue

A

A queue is an ADT in which items are inserted at the end of the queue and removed from the front of the queue.

20
Q

deque

A

A deque (pronounced ‘deck’ and short for double-ended queue) is an ADT in which items can be inserted and removed at both the front and back.

21
Q

bag

A

A bag is an ADT for storing items in which the order does not matter and duplicate items are allowed.

22
Q

set

A

A set is an ADT for a collection of distinct items.

23
Q

priority queue

A

A priority queue is a queue where each item has a priority, and items with higher priority are closer to the front of the queue than items with lower priority.

24
Q

dictionary

A

A dictionary is an ADT that associates (or maps) keys with values.

25
Q

compression

A

Given data represented as some quantity of bits, compression transforms the data to use fewer bits.

26
Q

Huffman coding

A

Huffman coding is a common compression technique that assigns fewer bits to frequent items, using a binary tree.

27
Q

heuristic

A

Heuristic: A technique that willingly accepts a non-optimal or less accurate solution in order to improve execution speed.

28
Q

heuristic algorithm

A

A heuristic algorithm is an algorithm that quickly determines a near optimal or approximate solution.

29
Q

0-1 knapsack problem

A

0-1 knapsack problem: The knapsack problem with the quantity of each item limited to 1.

30
Q

self-adjusting heuristic

A

A self-adjusting heuristic is an algorithm that modifies a data structure based on how that data structure is used.

31
Q

Dynamic programming

A

Dynamic programming is a problem solving technique that splits a problem into smaller subproblems, computes and stores solutions to subproblems in memory, and then uses the stored solutions to solve the larger problem.

32
Q

longest common substring

A

The longest common substring algorithm takes 2 strings as input and determines the longest substring that exists in both strings.

33
Q
A