reading-notes

Reading Notes Class #5

    VOCABULARY DEFINITIONS >
  1. Singly Linked List: * Node: a basic unit of a singly linked list that contains a value and a reference to the next node in the list * Head: the first node in a singly linked list * Tail: the last node in a singly linked list * Pointer: a reference to another object or data structure * Traversal: the process of accessing each node in a singly linked list in order * Insertion: the process of adding a new node to a singly linked list * Deletion: the process of removing a node from a singly linked list * Search: the process of finding a specific value in a singly linked list * Linked List: a data structure consisting of a sequence of nodes that each contain a value and a reference to the next node in the sequence * Singly Linked List: a type of linked list where each node has a reference to the next node, but not the previous node * Doubly Linked List: a type of linked list where each node has references to both the next node and the previous node * Circular Linked List: a type of linked list where the last node points to the first node, forming a circular loop * Memory Allocation: the process of reserving memory for a data structure or object * Garbage Collection: the process of freeing memory that is no longer being used by a program * Time Complexity: the amount of time an algorithm takes to run relative to the size of the input * Space Complexity: the amount of memory an algorithm uses relative to the size of the input >
  2. Big O Notation: * Algorithm: a sequence of steps used to solve a problem or perform a task * Time Complexity: the amount of time an algorithm takes to run relative to the size of the input * Space Complexity: the amount of memory an algorithm uses relative to the size of the input * Big O Notation: a mathematical notation used to describe the upper bound of an algorithm's time or space complexity * O(1): constant time complexity, where the time required by the algorithm does not change with the size of the input * O(n): linear time complexity, where the time required by the algorithm increases linearly with the size of the input * O(n^2): quadratic time complexity, where the time required by the algorithm increases exponentially with the size of the input
  3. </ol> [HOME](/reading-notes/)