C949v4 ultimate vocab flashcards

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

1/107

flashcard set

Earn XP

Description and Tags

C949v4 ultimate vocab flashcards that i made

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

108 Terms

1
New cards

Algorithm

A step-by-step procedure for solving a problem or performing a computation, characterized by finiteness, definiteness, input, output, effectiveness, and generality.

2
New cards

Finiteness

A characteristic of an algorithm that ensures it terminates after a finite number of steps.

3
New cards

Definiteness

A characteristic of an algorithm that ensures each step is precisely defined and unambiguous.

4
New cards

Input

The values provided to an algorithm before it begins processing.

5
New cards

Output

The result produced by an algorithm after it completes its steps.

6
New cards

Effectiveness

A characteristic of an algorithm that ensures each step can be performed in a finite amount of time using basic operations.

7
New cards

Generality

A characteristic of an algorithm that ensures it can solve a range of problems, not just a specific case.

8
New cards

Brute Force Algorithm

A straightforward approach that exhaustively tries all possible solutions to a problem.

9
New cards

Recursive Algorithm

An algorithm that solves a problem by breaking it into smaller instances of the same problem and solving them recursively.

10
New cards

Base Case

The condition in a recursive algorithm that stops the recursion and provides a direct solution.

11
New cards

Recursive Case

The part of a recursive algorithm that breaks the problem into smaller subproblems and calls itself to solve them.

12
New cards

Linear Search

A search algorithm that checks each element in a list sequentially until the target is found.

13
New cards

Binary Search

A search algorithm that repeatedly divides a sorted list in half to find a target element.

14
New cards

Hashing Algorithm

An algorithm that converts data into a fixed-size hash value, often used for fast data retrieval.

15
New cards

Divide and Conquer

An algorithmic approach that breaks a problem into smaller subproblems, solves them independently, and combines their solutions.

16
New cards

Greedy Algorithm

An algorithm that makes locally optimal choices at each step in the hope of finding a global optimum.

17
New cards

Dynamic Programming

An algorithmic approach that stores and reuses intermediate results to avoid redundant computations.

18
New cards

Big O Notation

A mathematical notation that describes the upper bound of an algorithm's time or space complexity in the worst case.

19
New cards

O(1)

Constant time complexity, where the algorithm's runtime does not depend on the input size.

20
New cards

O(n)

Linear time complexity, where the algorithm's runtime grows proportionally with the input size.

21
New cards

O(log n)

Logarithmic time complexity, where the algorithm's runtime grows logarithmically with the input size.

22
New cards

O(n^2)

Quadratic time complexity, where the algorithm's runtime grows proportionally to the square of the input size.

23
New cards

Data Structure

A way of organizing and storing data in a computer so that it can be accessed and modified efficiently.

24
New cards

Array

A data structure that stores elements in contiguous memory locations, allowing fast access by index.

25
New cards

Linked List

A linear data structure where each element (node) contains data and a reference to the next node.

26
New cards

Stack

A data structure that follows the Last-In-First-Out (LIFO) principle.

27
New cards

Queue

A data structure that follows the First-In-First-Out (FIFO) principle.

28
New cards

Hash Table

A data structure that maps keys to values using a hash function for fast lookups.

29
New cards

Collision

A situation in hashing where two keys produce the same hash value.

30
New cards

Binary Search Tree (BST)

A tree data structure where each node has at most two children, and the left child is less than the parent, while the right child is greater.

31
New cards

Heap

A specialized tree-based data structure that satisfies the heap property (min-heap or max-heap).

32
New cards

Graph

A data structure consisting of nodes (vertices) connected by edges, which can be directed or undirected.

33
New cards

Depth-First Search (DFS)

A graph traversal algorithm that explores as far as possible along each branch before backtracking.

34
New cards

Breadth-First Search (BFS)

A graph traversal algorithm that explores all neighbors at the present depth before moving to the next level.

35
New cards

Dijkstra's Algorithm

A greedy algorithm that finds the shortest path from a single source vertex to all other vertices in a graph with non-negative edge weights.

36
New cards

Bellman-Ford Algorithm

A dynamic programming algorithm that finds the shortest path from a single source vertex to all other vertices, even with negative edge weights.

37
New cards

Strongly-Typed Language

A programming language where the type of a variable is strictly enforced, and implicit type conversions are not allowed.

38
New cards

Weakly-Typed Language

A programming language where the type of a variable is flexible, and implicit type conversions are allowed.

39
New cards

Encapsulation

An object-oriented programming concept that restricts access to certain details of an object's implementation.

40
New cards

Inheritance

An object-oriented programming concept where a new class is based on an existing class, inheriting its attributes and methods.

41
New cards

Polymorphism

An object-oriented programming concept where objects of different classes can be treated as objects of a common base class.

42
New cards

Garbage Collection

A process in programming where memory that is no longer in use is automatically freed.

43
New cards

Data Flow Diagram (DFD)

A graphical representation of the flow of data through a system, showing processes, data stores, data flows, and external entities.

44
New cards

Process (in DFD)

A component in a DFD that represents how data is transformed or manipulated.

45
New cards

Data Store (in DFD)

A component in a DFD that represents where data is stored within the system.

46
New cards

External Entity (in DFD)

A component in a DFD that represents an outside system or user that interacts with the system.

47
New cards

AVL Tree

A self-balancing binary search tree where the heights of the two child subtrees of any node differ by at most one.

48
New cards

Red-Black Tree

A self-balancing binary search tree with additional properties (e.g., nodes are colored red or black) to ensure balance.

49
New cards

B-Tree

A self-balancing tree data structure that maintains sorted data and allows for efficient insertion, deletion, and search operations.

50
New cards

In-Order Traversal

A tree traversal method that visits nodes in the order: left subtree, root, right subtree.

51
New cards

Pre-Order Traversal

A tree traversal method that visits nodes in the order: root, left subtree, right subtree.

52
New cards

Post-Order Traversal

A tree traversal method that visits nodes in the order: left subtree, right subtree, root.

53
New cards

Min-Heap

A heap data structure where the parent node is always less than or equal to its children.

54
New cards

Max-Heap

A heap data structure where the parent node is always greater than or equal to its children.

55
New cards

Set

A data structure that stores unique elements with no specific order.

56
New cards

Heapify

The process of converting an unsorted array into a heap data structure.

57
New cards

Map (Dictionary)

A data structure that stores key-value pairs, allowing for efficient lookups, insertions, and deletions.

58
New cards

Hash Function

A function that converts input (key) into a fixed-size value (hash) used for indexing in a hash table.

59
New cards

Chaining

A collision resolution technique in hash tables where multiple elements are stored in the same bucket using a linked list.

60
New cards

Open Addressing

A collision resolution technique in hash tables where collisions are resolved by finding another open slot in the table.

61
New cards

Deque (Double-Ended Queue)

A data structure that allows insertion and deletion of elements from both the front and rear ends.

62
New cards

Bag (Multiset)

A data structure that allows duplicate elements, unlike a set.

63
New cards

Record

A composite data structure that stores a collection of related fields, each with a specific name and data type.

64
New cards

Abstract Data Type (ADT)

A theoretical model of a data structure that defines its behavior (operations) without specifying its implementation.

65
New cards

Primitive Data Type

A basic data type provided by a programming language (e.g., int, float, char).

66
New cards

Composite Data Type

A data type constructed from primitive data types (e.g., arrays, structures).

67
New cards

Enumeration (Enum)

A user-defined data type that consists of a set of named constants.

68
New cards

Static Variable Declaration

A variable declaration where memory is allocated at compile time, and the type and size are fixed.

69
New cards

Dynamic Variable Declaration

A variable declaration where memory is allocated at runtime, and the type and size can change.

70
New cards

Assignment Operator

An operator used to assign a value to a variable (e.g., =, +=, -=).

71
New cards

Logical Operator

An operator used to combine or negate conditions (e.g., and, or, not).

72
New cards

Bitwise Operator

An operator that performs operations on the binary representation of numbers (e.g., &, |, ^).

73
New cards

Constructor

A special method in a class that initializes objects when they are created.

74
New cards

Destructor

A special method in a class that cleans up resources when an object is destroyed.

75
New cards

Reference Count

A count of the number of references to an object, used in memory management.

76
New cards

Sequential Allocation

A memory allocation technique where memory is allocated in a sequential manner (e.g., arrays).

77
New cards

Linked Allocation

A memory allocation technique where memory is allocated in linked nodes (e.g., linked lists).

78
New cards

Insertion Operation

An operation that adds an element to a data structure (e.g., inserting into an array, linked list, or tree).

79
New cards

Deletion Operation

An operation that removes an element from a data structure (e.g., deleting from an array, linked list, or tree).

80
New cards

Search Operation

An operation that finds a specific element in a data structure (e.g., linear search, binary search).

81
New cards

Access Operation

An operation that retrieves an element from a data structure (e.g., accessing an array element by index).

82
New cards

Push Operation

An operation that adds an element to the top of a stack.

83
New cards

Pop Operation

An operation that removes and returns the top element from a stack.

84
New cards

Enqueue Operation

An operation that adds an element to the rear of a queue.

85
New cards

Dequeue Operation

An operation that removes and returns the front element from a queue.

86
New cards

Peek Operation

An operation that retrieves the top or front element of a stack or queue without removing it.

87
New cards

Heapify Up (Percolate Up)

The process of moving a newly inserted element up in a heap to maintain the heap property.

88
New cards

Heapify Down (Percolate Down)

The process of moving an element down in a heap to maintain the heap property after deletion.

89
New cards

Union Operation (Set)

An operation that combines two sets into one, containing all unique elements from both sets.

90
New cards

Intersection Operation (Set)

An operation that returns a set containing only the elements common to two sets.

91
New cards

Difference Operation (Set)

An operation that returns a set containing elements in one set but not in another.

92
New cards

Traversal Operation

An operation that visits all elements in a data structure (e.g., tree traversal, graph traversal).

93
New cards

Sorting Operation

An operation that arranges elements in a specific order (e.g., ascending, descending).

94
New cards

Hashing Operation

An operation that converts a key into a hash value for efficient storage and retrieval.

95
New cards

Collision Resolution

Techniques used to handle situations where two keys produce the same hash value (e.g., chaining, open addressing).

96
New cards

Rotations (AVL Tree)

Operations performed to rebalance an AVL tree after insertion or deletion (e.g., single rotation, double rotation).

97
New cards

Balancing (Tree)

The process of ensuring that a tree remains balanced (e.g., AVL trees, Red-Black trees).

98
New cards

Priority Queue

A data structure where elements are removed based on their priority (e.g., using a heap).

99
New cards

Adjacency List

A way to represent a graph where each vertex stores a list of its adjacent vertices.

100
New cards

Adjacency Matrix

A way to represent a graph using a 2D array where each cell indicates whether an edge exists between two vertices.