CS 220 - Final Keyterms

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/174

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

175 Terms

1
New cards

Mathematics - study of numbers and their properties

2
New cards

Discrete - at fixed intervals

3
New cards

Sets - is a collection of elements (items or numbers etc)

4
New cards

Cardinality - size or count

5
New cards

Membership - item x an member of the set

6
New cards

Brute-Force Algorithm - checking/searching through all elts. of a set or list

7
New cards

Order Set - when order is imposed for a set

8
New cards

Difference - based on subtraction written as "\" or "-"

9
New cards

Cartesian Product - |A x B| = |A| x |B| and the order of the postions matter

10
New cards

Mappings - A → B, the default is one-directional

11
New cards

Reflexive - if for all elts. a element of S, a → a is related to a for ALL elts. in S

12
New cards

Symmetric - if a→ b then b → a, for all elts. a and/or b; if it goes in one direction it must be able to go the other direction

13
New cards

Transitive - if a → b and b → c, then a → c for all such a,b,c that have such mappings

14
New cards

Transitive Closure - the added connected such a→c for the above enables the transitive property he entire enhanced transitive mapping which is now {a → b, b → c, a → c}

15
New cards

Equivalence Class - a relationship that has all the properties of RST

16
New cards

Relationship - R(A,B) is a subset of A x B

17
New cards

Proper Subset - S1 != S2

18
New cards

Power Set - all possible subsets, to calculate: 2^|S|

19
New cards

Partial Function - any elt. of the first set connects to at most one elt. of the second set

20
New cards

Total Function - any elt. of the first set connects to exactly one elt of the second set

21
New cards

Injective Mapping - every elt. of the first set connects to uniquely one elt. of the second set

22
New cards

Factorial n! - similar to the injective mapping formula; Injective(m,n) * (n-m)!

23
New cards

Pigeonhole principle - you must have the same amount of A’s just as the same amount of B’s

24
New cards

Counting Maps - partial function, total function, & one-one function (injective mapping)

25
New cards

Onto Function - A function where every element in B is mapped by at least one element in A.

26
New cards

ONTO(m,n) Formula - The formula ONTO(m, n) = TOTAL(m, n) - NONONTO(m, n) calculates the number of onto functions.

27
New cards

Singleton - A set with exactly one element

28
New cards

Domain - The set of possible inputs in a function

29
New cards

Codomain - The set of potential outputs (where values could go, even if they don't

30
New cards

Range - The actual outputs a function maps to (a subset of the codomain)

31
New cards

Preimage - The set of A values that reach elements in the range of a function

32
New cards

Inclusion-Exclusion - A formula used to count elements in overlapping sets, ensuring no double-counting |A∪B| = |A| + |B| − |A∩B|

33
New cards

Partitions - A way to divide a set (S) into non-overlapping subsets where every element belongs to exactly one subset

34
New cards

Partition Formula - Partition(m, n) = Onto(m, n) / n!, which removes order from onto mappings.

35
New cards

Bell Number - The sum of all k-partitions of a set, representing the number of ways to partition a set into non-empty subsets

36
New cards

Partition(m,n) Formula - Partition(m, n) = Onto(m, n)/n!

37
New cards

Injective - A function where each elt. in A maps to a unique elt. in B (no two elements in A share the same B value)

38
New cards

Surjective - A function where each elt. in B is mapped by at least one elt. in A(no elements in B are left out)

39
New cards

Partial Inverse - A function where not every B value has a unique inverse back to A, meaning some elements in B may not be retrievable

40
New cards

Bijection - A function that is both injective and surjective, meaning |A| = |B| and every element has a unique pair

41
New cards

Adjacency Matrix - A square matrix used to represent a finite graph, where: 1 means an edge exists between two vertices & 0 means no edge exists

42
New cards

Row-Major Order - A way of storing and reading matrices where elements are accesed by row by row first

43
New cards

Column-Major Order - A way of storing and reading matrices where elements are accessed by column by column first

44
New cards

Transpose of a Matrix - A new matrix formed by swapping the rows and columns of the orginal matrix

45
New cards

Adjacency Matrix - a matrix representing a graph where 1 indicates an edge between two vertices and 0 indicates no connection

46
New cards

Sparse Graph - a graph with significantly fewer edges compared to the possible number of connections (i.e. mostly empty adjacency matrix)

47
New cards

Transitive Closure - the extension of a graph where all possible paths are added to represent connectivity

48
New cards

Strongly Connected Graph - a directed graph where there is a path between every pair of vertices in both directions

49
New cards

Unilaterally Connected Graph - a directed graph where a path exists between every pair of vertices, but not necessarily in both directions

50
New cards

Weakly Connected Graph - a directed graph that becomes strongly connected if you ignore the direction of edges

51
New cards

Degree of Vertex - the number of edges connected to a vertex; split into indegree (edges coming in) and outdegree (edges going out).

52
New cards

Handshaking Theorem - the sum of the degrees of all vertices in a graph equals twice the number of edges (∑ degree = 2|E|)

53
New cards

Clique - a fully connected subgraph where every node is adjacent to every other node

54
New cards

Hamiltonian Circuit - a cycle in a graph that visits every vertex exactly once before returning to the starting point

55
New cards

Matrix Addition & Subtraction - Two matrices can only be added or subtracted if they have the same dimensions.

56
New cards

Matrix Multiplication - Two matrices can be multiplied only if the number of columns in the first matrix matches the number of rows in the second. (AB ≠ BA in general)

57
New cards

Identity Matrix (I) - A square matrix with 1s on the diagonal and 0s everywhere else. Multiplying any matrix by the identity matrix does not change the matrix.

58
New cards

Scalar Matrix - A matrix that is a scaled version of the identity matrix, meaning all diagonal elements are multiplied by a constant.

59
New cards

Vector - A one-dimensional matrix, where either the number of rows or columns is equal to 1 (can be row or column vector).

60
New cards

Transitive Closure - The process of adding all possible paths to a matrix representation of a graph, written as: A* = A^1 + A^2 + A^3 + A^4

61
New cards

Pre-Order Transversal - A tree traversal method that processes nodes in (D → L → R) order, meaning it visits the data first, then the left child, then the right child. (Prefix Notation)

62
New cards

In-Order Transversal - A tree traversal method that processes nodes in (L → D → R) order, meaning it visits the left child first, then the data, then the right child. (Infix Notation)

63
New cards

Pre-Order Transversal - A tree traversal method that processes nodes in (L → R → D) order, meaning it visits the left child first, then the right child, then the data. (Postfix Notation)

64
New cards

BFS (Breadth-First-Search) - A graph traversal method that visits nodes level by level, moving horizontally before going deeper into the graph.

65
New cards

Tree - a connected acyclic graph, meaning it has no cycles and all nodes are connected

66
New cards

DAG (Directed Acyclic Graph) - a graph where edges have a direction and there are no cycles

67
New cards

Binary Tree - a tree where each parent node has at most two children

68
New cards

Perfect Binary Tree - a binary tree where every level is completely filled with nodes

69
New cards

Complete Binary Tree - a binary tree where all levels are filled except possibly the last, and nodes in the last level are as far left as possible

70
New cards

Balanced (AVL) Tree - a self-balancing binary tree that uses rotations to keep height balanced when nodes are added or deleted

71
New cards

Linked List - a linear data structure made of nodes stored in non-contiguous memory, where each node points to the next

72
New cards

Expression Tree - a binary tree used to represent mathematical expressions, where operators are internal nodes and operands are leaf nodes

73
New cards

Binary Operator - an operator that takes two operands (e.g., +, -, *, /)

74
New cards

Unary Operator - an operator that takes one operand (e.g., cos(x), sin(x), -x)

75
New cards

Expression Tree - a binary tree used to represent mathematical expressions, where operators are internal nodes and operands are leaf nodes

76
New cards

Inorder Traversal - method of traversing trees in the order Left → Data → Right (LDR). Most common for expression trees

77
New cards

Preorder Tranversal - method of traversing trees in the order Data → Left → Right (DLR), used in LISP processing

78
New cards

Decision Tree - a tree where only leaves store data, and internal nodes are placeholders guiding the search

79
New cards

Binary Search - a search algorithm that repeatedly divides a sorted list in half until the target value is found

80
New cards

Minimum Spanning Tree - a subset of edges in a weighted graph that connects all vertices with minimum total edge weight and no cycles

81
New cards

Kruskal's Algorithm - a greedy algorithm for finding the MST by sorting edges by weight and adding them one by one without forming cycles

82
New cards

Huffman Encoding - a variable-length encoding method used for data compression, where frequent symbols get shorter codes

83
New cards

Fixed-Length Encoding - method where every character is represented by a fixed number of bits (e.g., ASCII uses 8-bit codes)

84
New cards

Prefix Rule in Huffman Encoding - a rule that ensures no encoded character is a prefix of another to avoid ambiguity in decoding

85
New cards

Morse Code - a system of encoding text using dots (left) and dashes (right)

86
New cards

Morse Code Tree - a binary tree used to represent Morse Code, where left branches are dots (0) and right branches are dashes (1)

87
New cards

Walk - a sequence of vertices in a graph where each consecutive pair is connected by an edge

88
New cards

Trail - a type of walk where no edges are repeated

89
New cards

Path - a sequence of edges where no vertex or edge is repeated

90
New cards

Lattice/Grid - a network of evenly spaced horizontal and vertical lines, forming structured squares or rectangles

91
New cards

Node - a basic unit of data structures like linked lists, trees, or graphs

92
New cards

Parent Node - a node with at least one child node in a tree structure

93
New cards

Amortized Complexity O(n) - the average time complexity across multiple operations, ensuring that even expensive operations balance out over time

94
New cards

O(n log n) Complexity - a complexity class used in sorting and tree-based searches, where the total accumulated complexity is O(n log n)

95
New cards

Algorithm - a finite sequence of well-defined instructions to solve a problem

96
New cards

Turning Machine - a theoretical machine that processes data using an internal tape and halts when it reaches an output

97
New cards

Daemon Process - a background process that runs indefinitely, common in operating systems

98
New cards

Time Complexity - the number of steps or operations an algorithm takes to complete based on input size

99
New cards

Space Complexity - the amount of memory required by an algorithm, including temporary storage and variables

100
New cards

Garbage Collection - a process in computing that reclaims memory occupied by objects that are no longer needed