Topic Library

Filter by Focus
All Abnormal Psychology Acoustics Algebra Algorithms Analytical Chemistry Anatomy Anatomy APIs & Frameworks Application Development Artificial Intelligence Assessment Assessment Astrophysics Basics of Computer Science Behavioral Psychology Big Data Biochemistry Biochemistry Biochemistry Bioinformatics Bioinformatics Botany Botany Business Intelligence Calculus Cardiac Cell Biology Cell Biology Classical Mechanics Clinical Psychology Cloud Data Systems Coercive Social Influence Cognitive Psychology Community Health Computer Architecture Condensed Matter Data Analysis Data Engineering Data Governance Data Structures Data Visualization Databases Databases Developmental Biology Developmental Biology Developmental Psychology DevOps Diabetes Differential Equations Discrete Math Documentation Ecology Ecology Educational Psychology Electromagnetism Emotion & Motivation Endocrine Environmental Chemistry Ethics & Law Ethics & Law ETL & Pipelines Evolution Evolution Exploratory Data Analysis Fluid Dynamics Foundations of Data Science Fundamentals Fundamentals of Nursing Gastrointestinal Genetics Genetics Geometry Health Promotion Human Biology Human Biology Immunology Immunology Industrial Chemistry Inorganic Chemistry Leadership & Management Leadership & Management Linear Algebra Machine Learning Materials Chemistry Maternal & Newborn Maternal & Newborn Mathematical Logic Medical-Surgical Medical-Surgical Mental Health Mental Health Microbiology Microbiology Models Molecular Biology Molecular Biology NCLEX NCLEX Readiness Neurological Neuropsychology Neuroscience Neuroscience Nuclear Chemistry Nuclear Physics Number Theory Nursing Process Nutrition Nutrition Object-Oriented Programming Optics Organic Chemistry Orthopedics Particle Physics Pathophysiology Pathophysiology Patient Safety Pediatrics Pediatrics Personality Psychology Pharmacology Pharmacology Physical Chemistry Physiology Physiology Probability Psychological Research Methods Psychopathology Quantum Mechanics Relativity Respiratory Skills Social Psychology Software Engineering Statistical Mechanics Statistics Statistics Systems Biology Systems Biology Theoretical Chemistry Therapeutic Approaches Thermodynamics Trigonometry Web Development Zoology Zoology

A

A Star Search
algorithms data_structures A* search is an informed shortest-path algorithm that combines path cost so far with a heuristic estimate to the goal. It evaluates nodes using f(n) = g(n) + h(n), where g is the cost so far and h is ...
Adjacency List
data_structures algorithms
Adjacency Matrix
data_structures algorithms
Agile Methodology
software_engineering Agile methodology is a family of values, principles, and practices for delivering value incrementally under uncertainty. It emphasizes collaboration, customer feedback, adaptive planning, technical ex...
All-Pairs Shortest Path (APSP)
data_structures algorithms All-Pairs Shortest Path (APSP) finds the minimum distance between every pair of vertices in a graph. Common solutions include Floyd-Warshall for dense graphs and negative edge support, repeated Dijkst...
Anxiety Disorder
test Anxiety disorders are a group of mental health conditions characterized by excessive fear, worry, or avoidance that is difficult to control, persists over time, and interferes with daily life. Common ...
Array
data_structures An array is a contiguous block of memory that stores a fixed number of elements of the same type. It supports fast random access by index and predictable memory layout, which makes it cache friendly. ...
Artificial Intelligence (AI)
Artificial Intelligence (AI) refers to the simulation of human intelligence in machines that are programmed to think and learn. It encompasses a wide range of subfields, including machine learning, na...
Ascii
ASCII (American Standard Code for Information Interchange) is a 7-bit character encoding standard that maps 128 numeric codes to common characters used in English-language text, including letters, dig...
Assembly Language
Assembly language is a type of low-level programming language that correlates closely with the architecture of a computer's central processing unit (CPU). It is often used for direct hardware manipula...
Astrophysics
Astrophysics is a branch of astronomy that involves the application of principles of physics and chemistry to explain the birth, life and death of stars, planets, galaxies, nebulae and other objects i...
Atomic Structure
Atomic structure describes how atoms are built from protons, neutrons, and electrons, how these subatomic particles are arranged, and how that arrangement determines chemical and physical properties. ...
AVL Tree
AVL trees are self-balancing binary search trees that keep node heights tightly constrained to guarantee O(log n) time for search, insertion, and deletion. They maintain a balance factor of −1, 0, or ...

B

Backtracking
Backtracking is a general algorithmic technique for exploring a search space by building solutions incrementally and abandoning partial candidates as soon as they violate constraints. It is often impl...
Bellman-Ford Algorithm
algorithms data_structures Bellman-Ford finds single-source shortest paths in weighted directed graphs, including those with negative edge weights. It reliably detects reachable negative cycles, which makes it more general than...
Best Coding Practices
Best coding practices refer to the established techniques and methodologies used to write clean, maintainable, and efficient code. These practices aim to enhance code readability, reduce errors, and f...
Big Bang Theory
The Big Bang Theory is a scientific model that describes how the universe expanded from an extremely high-density and high-temperature state. It provides a comprehensive explanation covering various c...
Big O Notation
data_structures algorithms Big O notation describes how the running time or space usage of an algorithm grows with input size. It focuses on dominant terms and ignores constant factors, providing a language to compare and reaso...
Binary
basics_of_computer_science Binary is the base-2 number system that uses only 0 and 1. Computers store and process data as bits, which combine into bytes and larger units. Understanding binary explains how numbers, text, images,...
Binary Search Tree (BST)
data_structures A binary search tree (BST) is a node-based data structure that stores keys in an ordered way to support efficient search, insertion, deletion, and traversal. Each node has up to two children, and the ...
Binary Tree
data_structures A binary tree is a hierarchical data structure where each node has at most two children, commonly referred to as the left and right child. Binary trees underpin many algorithms and specialized structu...
Blockchain
Blockchain is a decentralized digital ledger that records transactions across multiple computers in a way that ensures the security and integrity of the data. It is the underlying technology behind cr...
Boolean
Boolean values are the simplest data type in programming, representing true or false conditions. They are fundamental in controlling the flow of logic in programs, such as through conditional statemen...
Boolean Algebra
Boolean Algebra, named after George Boole, is a form of mathematical logic that deals with binary variables and logical operations. Its operations are analogous to the operations of a switch. It is us...
Boruvka Algorithm
algorithms data_structures Boruvka's algorithm builds a minimum spanning tree by repeatedly connecting each component to its cheapest outgoing edge. It starts with every vertex as its own component and merges components in roun...
Brain and Behavior
The study of 'Brain and Behavior' focuses on the relationship between brain function and behavior. It encompasses various disciplines including psychology, neuroscience and cognitive science. The rese...
Breadth-First Search (BFS)
data_structures algorithms Breadth-first search (BFS) is a method of exploring a graph outward layer-by-layer from a starting point. Its core purpose is to measure distance in terms of edge-steps, making it ideal for finding th...
Bubble Sort
Bubble Sort is a simple comparison-based sorting algorithm that repeatedly steps through a list, compares adjacent elements, and swaps them if they are in the wrong order. This process is repeated unt...
Bytecode
java Bytecode is a form of intermediate code that is typically executed by a virtual machine rather than directly by the underlying hardware. It serves as a bridge between high-level programming languages ...

C

C
C is a general-purpose programming language that has influenced many modern languages. Known for its efficiency and control over system resources, C is widely used in system programming, embedded syst...
C++
C++ is a high-performance programming language known for its capabilities in system programming, real-time applications, and game development. It combines object-oriented, procedural, and generic prog...
Cell Structure
Cell structure refers to the specific organization and arrangement of various components within a cell, allowing it to perform essential functions. Cells contain various organelles and structures, inc...
Central Processing Unit (CPU)
basics_of_computer_science test
Chemical Bonding
Chemical bonding refers to the force that holds atoms together in compounds and molecules. It is a fundamental concept that explains the formation, structure, and properties of substances.
Circular Linked List
Circular linked lists are linked list variants in which the last node points back to the first node, forming a closed loop. They enable efficient cycle-based traversals and operations like round-robin...
Class
object-oriented_programming
Classical Mechanics
Classical mechanics is a branch of physics that deals with the motion of bodies based on Isaac Newton's laws of motion. It provides the foundation for understanding the physical world, describing the ...
Cluster B
clinical_psychology personality_psychology abnormal_psychology psychopathology therapeutic_approaches social_psychology emotion_&_motivation Cluster B refers to the dramatic, emotional, or erratic group of personality disorders: antisocial, borderline, histrionic, and narcissistic. Core themes include impulsivity, unstable relationships, e...
Codependency
clinical_psychology therapeutic_approaches Codependency is a relational pattern where a person overfocuses on others' needs at the expense of their own, often to maintain connection or control chaos. It commonly shows up as excessive caretakin...
Cognitive Psychology
Cognitive psychology is the branch of psychology that studies mental processes including how people think, perceive, remember, and learn. It addresses how we process information and how this processin...
Cognitive Revolution
The Cognitive Revolution was a mid-20th-century shift in psychology that refocused the field on the scientific study of mental processes such as attention, memory, language, and problem solving. It em...
Collision Resolution
data_structures algorithms Collision resolution refers to techniques for handling cases where two or more keys map to the same bucket or index in a hash table. Common strategies include separate chaining and open addressing (e....
Combinatorics
algorithms basics_of_computer_science Combinatorics studies how to count, arrange, and select objects in discrete settings. Core tools include permutations, combinations, pigeonhole principle, inclusion-exclusion, recurrences, and generat...
Compilation
Compilation is a crucial phase in any programming process that involves translating source code written in a programming language into a lower-level code that a machine can understand and execute. The...
Compiled Languages
Compiled languages are programming languages whose source code is translated by a compiler into machine code (or an intermediate form) before execution. This ahead-of-time translation enables fast sta...
Complete Binary Tree
A complete binary tree is a binary tree in which every level is fully filled except possibly the last, and all nodes in the last level are as far left as possible. This structure guarantees a height o...
Compression
Compression refers to the process by which information or data is reduced in volume but can ultimately be reproduced in its original, full form. It can be applied in various fields like mathematics, p...
Computer Scientist
basics_of_computer_science
Condensed Matter Physics
Condensed Matter Physics is a branch of physics that deals with the physical properties of condensed phases of matter. It primarily focuses on understanding the behavior of solids and liquids, and how...
Constructor
object-oriented_programming
Control Flow
Flow of control describes the order in which a program's statements, instructions, or function calls are executed. It encompasses sequential execution, decision-making (selection), looping (iteration)...
Control Flow Statements
Control flow statements are essential programming constructs that allow developers to dictate the sequence in which instructions are executed within a program. These statements enable conditional exec...
Cosmology
Cosmology is the scientific study of the universe's origin, its structure, evolution, and eventual fate. This branch of astronomy involves theories of quantum mechanics, general relativity and emissio...
Cryptographic Hash Function
A cryptographic hash function is a mathematical algorithm that transforms data into a fixed-size hash value, ensuring data integrity and security.
Cryptography
Cryptography is the science of encoding and decoding messages to keep these messages secure. It is an essential method for protecting information in computer systems.
Cuckoo Hashing
data_structures algorithms Cuckoo hashing is a collision-resolution strategy for hash tables that uses two (or more) hash functions. Each key has multiple possible locations; if an insertion finds a spot occupied, it "kicks out...

D

Data Encoding
Data Encoding refers to the process of converting one form of data into another to facilitate storage or communication. This transformation ensures compatibility and efficient processing with differen...
Data Science
Data Science is a multidisciplinary field that uses scientific methods, processes, algorithms, and systems to extract knowledge and insights from structured and unstructured data.
Data Types
Data types are fundamental concepts in programming and data management, defining the kind of data that can be stored and manipulated within a program. Understanding data types is essential for effecti...
Database
Databases are organized collections of data that allow for efficient storage, retrieval, and management of information. They are essential for various applications across industries, enabling reliable...
Database Indexing
Database indexing is a technique used by databases to speed up data retrieval. Indexes are auxiliary data structures (like B-trees or hash tables) that let the database find rows without scanning enti...
Debugging Techniques
Debugging techniques are strategies and methods used to identify, analyze, and resolve bugs or defects in software code. These techniques help ensure that applications function as intended by locating...
Deleting A Node No Children
Deleting a node with no children (a leaf) is the simplest deletion case in tree data structures. It involves locating the node, confirming it has no children, severing the link from its parent, and ha...
Deleting A Node One Child
Deleting a node with exactly one child is a common case in tree data structures (especially binary search trees). The operation removes the node and directly connects its parent to the node’s only chi...
Devops
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) aiming to shorten the systems development life cycle and provide continuous delivery with high software qu...
Differential Equations
Differential Equations are mathematical equations involving a function and its derivatives. They describe the relationship between a function and its rates of change and play a vital role in fields as...
Dijkstra Algorithm
algorithms Dijkstra's algorithm finds the shortest paths from a single source to all other nodes in a weighted graph with non-negative edge weights. It uses a greedy strategy with a priority queue to always expa...
Directed Acyclic Graph (DAG)
algorithms apis_&_frameworks A directed acyclic graph (DAG) is a directed graph with no cycles, which makes it perfect for modeling dependencies that must flow forward. DAGs guarantee at least one topological ordering of nodes th...
Directed Graph
data_structures algorithms A directed graph (digraph) is a set of nodes connected by edges that have direction. It models one-way relationships like links from page A to page B or task A must happen before task B. Direction cha...
Discrete Math
Discrete math is a branch of mathematics that deals with distinct, often finite, sets. It includes a wide variety of topics such as logic, set theory, combinatorics, graph theory, and algorithms. Disc...
Disjoint Set Union / Union Find
data_structures algorithms Disjoint Set Union (DSU), also called Union-Find, maintains a partition of elements into disjoint sets while supporting fast queries to check if two elements share a set and to merge sets. It uses a p...
Double Ended List
A double-ended list is a linear data structure that supports efficient insertions and deletions at both the front and the back. It is commonly implemented with head and tail references and often uses ...
Doubly Linked List
A doubly linked list is a linear data structure where each node holds a value and two references: one to the next node and one to the previous node. This bidirectional linking enables efficient insert...

E

Edmonds-Chu-Liu Algorithm
data_structures algorithms Edmonds-Chu-Liu finds a minimum-cost arborescence: a directed, rooted spanning tree that minimizes total edge weight. It works by selecting one minimum incoming edge per node, contracting any cycles, ...
Encapsulation
object-oriented_programming
Endianness
Endianness describes the byte order used to represent multi-byte data (like 16-, 32-, or 64-bit integers) in memory or when transmitted over a byte stream. The two dominant conventions are big-endian ...
Exception Handling
software_engineering python Exception handling is a structured way to detect and respond to abnormal conditions during execution - whether they stem from internal program logic (like invalid operations or runtime computation err...

F

Floyd-Warshall Algorithm
data_structures Floyd-Warshall computes shortest path distances between every pair of vertices in a weighted graph, even with negative edges. It uses dynamic programming over a distance matrix and iteratively improve...
Fourier Analysis
Fourier analysis studies how functions, signals, or data can be represented as sums or integrals of sinusoids. It provides tools like Fourier series and Fourier transforms to move between time/space a...
Fraction
Fractions represent a part of a whole and have two main components - the numerator and the denominator. The numerator signifies the number of equal parts taken, while the denominator represents the to...
Fractions And Decimals
Fractions and decimals are two ways to represent parts of a whole and precise quantities between whole numbers. Fractions use a numerator and denominator to show how many parts of a partitioned whole ...
Functional Programming
functional_programming Functional programming is a declarative programming paradigm where computation is modeled as the evaluation of functions without mutable state or side effects. It emphasizes pure functions, immutabili...

G

Genetic Information
Genetic information refers to the hereditary information encoded in the DNA of living organisms. It dictates the biological characteristics of an organism by specifying the structure of proteins and t...
Geometry
geometry Geometry is the branch of mathematics that studies shapes, sizes, relative positions of figures, and properties of space. It spans from classical Euclidean geometry of points, lines, and planes to mod...
Graph
data_structures Graphs model relationships between things using vertices (nodes) and edges (links). They can be directed or undirected, weighted or unweighted, and may contain cycles. In code, graphs are typically st...
Graph Cost
algorithms data_structures basics_of_computer_science Graph cost captures how we measure and optimize over weighted graphs, usually by minimizing or maximizing sums of edge weights. Core problems include building minimum spanning trees, finding shortest ...
Graph Depth-First Search
data_structures algorithms Depth-first search (DFS) is a fundamental graph traversal that explores as far as possible along each branch before backtracking. It can be implemented with recursion or an explicit stack, and it work...
Graph Theory
data_structures Graph theory studies networks of nodes and connections, called vertices and edges. It gives us language and tools to model roads, social links, dependencies, and more. You learn how to represent graph...
Graph Traversal
data_structures Graph traversal is the process of visiting vertices and edges of a graph in a systematic order. The two core strategies are breadth-first search and depth-first search, each uncovering structure in di...
Greedy Algorithm
algorithms data_structures basics_of_computer_science python A greedy algorithm builds a solution step by step by always taking the locally best option available. It is fast and simple, often relying on sorting or priority queues to repeatedly pick the next bes...

H

Hardware
basics_of_computer_science Hardware is the physical layer of computing: processors, memory, storage, networking, and I/O that execute and move bits. It sets the limits for performance, reliability, and energy use, and it shapes...
Hash
A hash is a function that converts an input (or 'message') into a fixed-length string of bytes. The output is typically a 'digest' that is unique to each unique input.
Hash Functions
data_structures algorithms Hash functions map data of arbitrary size to fixed-size values (hashes) quickly and deterministically. Good hashes distribute inputs uniformly, minimize collisions, and are efficient. They underpin da...
Hash Table
data_structures Hash tables (also called hash maps or dictionaries) are data structures that store key–value pairs and provide average-case constant-time insertion, lookup, and deletion. They use a hash function to m...
Hash Table Double Hashing
Double hashing is an open addressing collision-resolution technique for hash tables. It uses two hash functions: the first chooses an initial bucket, and the second computes a step size to probe alter...
Hash Table Linear Probing
data_structures Linear probing is a collision-resolution strategy for open-addressed hash tables. When a collision occurs, the algorithm linearly scans subsequent slots in the table (wrapping around) until it finds a...
Hash Table Open Addressing
data_structures algorithms Open addressing is a collision resolution strategy for hash tables that stores all entries inside the table array. When a collision happens, the algorithm probes alternative indices until it finds an ...
Hash Table Quadratic Probing
data_structures Quadratic probing is a collision-resolution strategy for open-addressed hash tables. When a collision occurs, it probes alternative slots using a quadratic function of the probe number to reduce clust...
Hash Table Separate Chaining
data_structures Separate chaining is a collision-resolution technique for hash tables where each table slot (bucket) stores a collection of key–value pairs that hash to the same index, typically using linked lists or...
Hashmap
data_structures A hashmap is a fast key–value data structure that uses a hash function to map keys to positions (buckets) in an array. It provides average-case constant-time insert, lookup, and delete operations by d...
Health Psychology
Health Psychology is a field of psychology that focuses on how biological, social and psychological factors influence health, illness, and healthcare. Health psychologists work to promote better healt...
Heap
data_structures
Heapify
data_structures Heapify is the process of rearranging an array or tree so it satisfies the heap property: in a max-heap every parent is ≥ its children; in a min-heap every parent is ≤ its children. It is typically im...
Heaps
data_structures
Heapsort
Heapsort is a comparison-based sorting algorithm that uses a binary heap to produce a sorted array in-place. It runs in O(n log n) time in the worst, average, and best cases, uses O(1) extra space, an...
Hexadecimal
basics_of_computer_science Hexadecimal is a base-16 numeral system that uses digits 0–9 and letters A–F to represent values compactly. It maps cleanly to binary because one hex digit equals four bits, making it ideal for readin...
Hidden Markov Model (HMM)
algorithms A Hidden Markov Model (HMM) is a probabilistic model for sequences where the underlying states are hidden but generate observable outputs. It assumes a first order Markov process over hidden states an...
History Of Psychology
The history of psychology traces how questions about mind, behavior, and experience evolved from ancient philosophical inquiries to a modern empirical science. It spans early roots in philosophy and m...
Histrionic
clinical_psychology abnormal_psychology personality_psychology psychopathology therapeutic_approaches social_psychology emotion_&_motivation Histrionic personality pattern involves high emotionality and persistent attention seeking that starts by early adulthood and appears across situations. People may feel uncomfortable when not the cent...
Humble Bragging
coercive_social_influence Humble bragging is a self-presentation strategy where a person shares an accomplishment or positive trait while masking it with modesty, complaint, or self-deprecation. Although intended to appear lik...

I

If Elseif Else
If–elseif–else is a fundamental control-flow construct that chooses between alternative code paths based on Boolean conditions. It evaluates conditions in order, executes the first matching branch, an...
Immutable Data
functional_programming Immutable data refers to values or structures that cannot be changed after they are created. Instead of modifying data in place, new versions are produced for any update. This model improves predictab...
In-Memory Databases
In-memory databases store data in a computer's main memory (RAM) rather than on traditional disk storage, offering rapid data access and high performance, especially useful for applications requiring ...
In-Order Traversal
In-order traversal is a depth-first algorithm for visiting all nodes of a binary tree in a specific order: left subtree, current node, then right subtree. It is especially useful for binary search tre...
Inheritance
object-oriented_programming java Inheritance is an object-oriented programming mechanism that lets a new class (subclass) reuse and extend the behavior and data of an existing class (superclass). It enables code reuse, establishes na...
Insertion Sort
Insertion sort is a simple, comparison-based sorting algorithm that builds a sorted portion of the list one element at a time by inserting each new element into its correct position. It is in-place, s...
Integer
Integers are a fundamental data type in programming, representing whole numbers without fractional components. They are used extensively for counting, indexing, and other operations that require whole...
Introduction To Clinical Psychology
clinical_psychology Clinical psychology is the branch of psychology focused on assessing, diagnosing, preventing, and treating mental, emotional, and behavioral disorders across the lifespan. It integrates scientific res...
Introduction To Personality Disorders
behavioral_psychology developmental_psychology clinical_psychology social_psychology personality_psychology abnormal_psychology psychopathology therapeutic_approaches Personality disorders are enduring patterns of thinking, feeling, and behaving that deviate from cultural expectations, are pervasive and inflexible, and cause significant distress or impairment. They...
Iterator
Iterators provide a uniform way to traverse elements of a collection or data source one at a time without exposing its underlying representation. They enable lazy, memory-efficient processing and form...

J

Java
java Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a widely-used programming language for developing...
Java Virtual Machine (JVM)
java The Java Virtual Machine (JVM) is a crucial component of the Java Runtime Environment (JRE) that enables Java applications to run on any device or operating system without modification. It is responsi...
Java.Util.Scanner
java.util.Scanner is a Java utility class for tokenizing and parsing text input from sources like standard input, strings, files, and streams. It splits input into tokens based on a delimiter (whitesp...

K

Kruskal Algorithm
data_structures algorithms Kruskal is a greedy algorithm for building a minimum spanning tree of a weighted, undirected graph. It sorts edges by weight and adds the next lightest edge that does not form a cycle, using a union-f...

L

Large Language Models (LLM)
Large Language Models (LLMs) are a class of artificial intelligence models designed to understand, generate, and manipulate human language. They are built on neural network architectures and are train...
Linked List
A linked list is a linear data structure composed of nodes, where each node holds data and references (pointers) to other nodes. Unlike arrays, linked lists do not store elements contiguously in memor...
Logical Operator
Logical operators combine or invert boolean values to build complex conditions in programs. Core operators include AND, OR, and NOT, with variants like XOR and their short-circuiting behavior. Underst...
Love Bombing
coercive_social_influence Love bombing is a manipulative technique often used in abusive relationships, both personal and societal, where the abuser showers the victim with affection, attention, gifts, and promises, in such a ...

M

Machine Code
Machine Code is the lowest level of software code that can be directly executed by the machine's CPU. Often represented in binary or hexadecimal format, machine code includes instructions that dictate...
Machine Learning
Machine learning is a field at the intersection of mathematics, statistics, and computer science focused on building models that learn patterns from data to make predictions, decisions, or discover st...
Manipulation Tactic
coercive_social_influence Manipulation tactics are methods used to influence or control others' thoughts, actions, and behaviors in indirect, covert, or deceptive ways. While manipulation can sometimes be non-malicious and use...
Markov Chain
data_structures algorithms A Markov chain tracks how likely a system is to move from one state to another. The transition data can be stored either as an adjacency list (per-state neighbors and weights) or as an adjacency/trans...
Matrices
A matrix is a rectangular array of numbers, symbols, or expressions. The individual items in a matrix are called its elements or entries. Matrices are a key tool in linear algebra and have widespread ...
Maximum Spanning Tree
algorithms data_structures A maximum spanning tree (Max-ST) connects all vertices of a weighted, undirected graph with the highest possible total edge weight while avoiding cycles. It is the mirror concept of the minimum spanni...
Mechanics Basics
Mechanics is the branch of physics concerned with the motion of objects and the forces that affect that motion. It is divided into several subfields, including classical mechanics, quantum mechanics, ...
Memory
operating_systems memory Memory is where programs store data and instructions while running. It spans fast CPU caches to main RAM and virtual memory, each with very different latency and capacity. Understanding allocation, la...
Merge Sort
algorithms Merge sort is a classic divide-and-conquer sorting algorithm that splits a list into halves, recursively sorts each half, and then merges the sorted halves into a fully ordered list. It runs in O(n lo...
Method
Methods are named blocks of code associated with a type or object that perform actions, compute results, or coordinate behavior. They encapsulate logic behind a stable interface, accept parameters, ma...
Minimum Spanning Tree (MST)
data_structures algorithms A minimum spanning tree (MST) connects all vertices in a weighted, undirected, connected graph with the minimum total edge weight and no cycles. It is a foundational concept for network design, cluste...

N

Natural Language Processing
Natural Language Processing (NLP) is a field of artificial intelligence that focuses on the interaction between computers and humans through natural language. It involves the development of algorithms...
Negging
coercive_social_influence Negging is a manipulative strategy used in social and romantic interactions, usually aimed at undermining the self-esteem of another person to increase their emotional dependence or susceptibility to ...
Nonce
A nonce is a unique or random value used in cryptography and computer security to ensure the uniqueness of a transaction or interaction to prevent various types of attacks.
None
None (also called null, nil, or undefined in various languages) represents the absence of a value. It is a fundamental programming concept used to indicate "no data," "not applicable," or "not yet ass...
Nucleosynthesis
nuclear_chemistry Nucleosynthesis is the set of physical processes that create atomic nuclei from protons and neutrons. It began in the early universe (Big Bang nucleosynthesis), continues inside stars (stellar nucleos...
Null
Null represents the absence of a value or a non-existent reference in programming and databases. It is often used to indicate that a variable, object, or field has been deliberately set to have no val...
Number Operations
Number operations are the foundational actions we perform on numbers—addition, subtraction, multiplication, and division. They allow us to combine, compare, and transform quantities. Mastering their m...
Number Theory
Number Theory is a branch of pure mathematics that deals with the properties and relationships of numbers, particularly integers. It revolves around basic mathematical operations, primes, divisibility...
Numpy
python NumPy is the fundamental package for numerical computing in Python. It provides the n-dimensional array (ndarray), efficient vectorized operations, broadcasting, a suite of mathematical routines (incl...

O

O(N^2) Quadratic Time
O(N^2) quadratic time complexity represents an algorithm whose performance is directly proportional to the square of the size of the input data set. This kind of complexity is often seen in algorithms...
Object Oriented Programming
Object-Oriented Programming (OOP) is a programming paradigm that uses 'objects' to design software. It allows for structuring programs so that properties and behaviors are bundled into individual obje...
Operators
Operators are rules or mappings that take one or more inputs from a set (often a vector space or a space of functions) and produce an output in a set, frequently the same set. They generalize familiar...
Ordered Array
An ordered array is a contiguous collection of elements maintained in sorted order according to a comparison rule. This structure enables efficient searching (typically O(log n) with binary search) an...

P

Pagerank
algorithms basics_of_computer_science PageRank is a link analysis algorithm that assigns importance scores to nodes in a directed graph using the random surfer model. It models a Markov chain where a surfer follows links with probability ...
Pair Programming
software_engineering testing version_control Pair programming is a collaborative software development technique where two people work together at one workstation (physically or remotely) to design, code, and test a solution. One person acts as t...
Perfect Hashing
algorithms Perfect hashing is a technique for constructing a hash function that maps a fixed, known set of keys to distinct table indices with zero collisions. It provides worst-case O(1) lookup and is especiall...
Periodic Table
The periodic table is a systematic arrangement of the chemical elements ordered by increasing atomic number. Elements are organized into periods (rows) and groups (columns) that reveal repeating (peri...
Physics
Physics is the study of matter, energy, space, and time, and the laws that govern their behavior. It combines observation, experiment, and mathematics to build models that explain phenomena from subat...
Pointer
Pointers are variables that store memory addresses instead of direct values. They enable programs to reference, share, and manipulate data in memory, making features like dynamic memory allocation, ef...
Pointer Chasing
Pointer chasing is the process of following chains of memory references (pointers) where each load reveals the address of the next load. It occurs in pointer-rich data structures like linked lists, tr...
Polymorphism
object-oriented_programming java Polymorphism is a core programming concept where values of different types can be treated through a uniform interface. It enables code reuse, extensibility, and decoupling by allowing one operation or...
Post-Order Traversal
Post-order traversal is a depth-first tree traversal strategy that visits all children of a node before the node itself. In binary trees, the order is left subtree, right subtree, then root (LRN). It ...
Pre-Order Traversal
Pre order traversal is a depth-first tree traversal strategy that visits each node before its subtrees. In binary trees, the canonical order is: visit the root, traverse the left subtree, then travers...
Prim's Algorithm
data_structures algorithms Prim's algorithm is a greedy method to build a minimum spanning tree of a connected, weighted, undirected graph. It starts from any vertex and repeatedly adds the smallest edge that connects the growi...
Priority Queue
data_structures A priority queue is an abstract data type that stores items each with an associated priority, always allowing quick access to the highest- or lowest-priority item. It underpins many algorithms and sys...
Probability
Probability is a branch of mathematics that deals with the likelihood of different outcomes. It is used to quantify an attitude of mind towards some proposition of whose truth we are not certain. It a...
Protein Synthesis
Protein synthesis is the process by which cells build proteins, the essential macromolecules that perform a wide array of functions within organisms. This biological mechanism involves two main stages...
Pseudocode
algorithms basics_of_computer_science Pseudocode is a language-agnostic way to describe algorithms and program logic using plain, structured steps. It removes syntax details so you can focus on thinking clearly about the procedure. Teams ...
Python
python Python is a high-level, interpreted, general-purpose programming language known for its readability, simplicity, and extensive standard library. It supports multiple paradigms—procedural, object-orien...

Q

Quantum Mechanics
Quantum mechanics is the fundamental theory of nature at atomic and subatomic scales. It describes how physical systems are represented by states in a complex vector space, how measurable quantities c...
Queue
A queue is a linear data structure and abstract data type that stores elements in the order they are added and retrieves them in first-in, first-out (FIFO) order. Queues support operations like enqueu...
Quick Sort
Quick Sort is a divide-and-conquer comparison sorting algorithm that partitions a list around a pivot element, then recursively sorts the sublists on either side of the pivot. It runs in average O(n l...

R

Rainbow Table
Rainbow tables are precomputed data structures used to reverse cryptographic hashes of unsalted passwords by trading storage space for faster lookups. They build chains of alternating hash and reducti...
Rational Numbers
Rational numbers are numbers that can be expressed as the ratio of two integers, where the denominator is not zero.
Recursion
Recursion is a problem-solving and programming technique where a function calls itself to solve smaller instances of the same problem. It relies on clearly defined base cases to stop and recursive cas...
Red-Black Tree
A red-black tree is a self-balancing binary search tree that guarantees O(log n) time for search, insert, and delete operations. It maintains balance using node colors (red or black) and a set of inva...
Redis
Redis is an open-source, in-memory data structure store that is used as a database, cache, and message broker. Known for its speed and flexibility, Redis supports various data structures like strings,...
Robotics
Robotics is the interdisciplinary field that integrates computer science and engineering to design, construct, operate, and use robots. It involves the creation of systems that can perform tasks auton...
Rust
Rust is a systems programming language that emphasizes speed, memory safety, and parallelism. It is designed to enable developers to create reliable and efficient software with a strong focus on preve...

S

Salt
In cybersecurity and cryptography, a salt is random data added to a password or secret before hashing to make each hash unique. Salts prevent attackers from using precomputed tables (rainbow tables), ...
Scripting Language
scripting_languages A scripting language is a high-level programming language designed to automate tasks, integrate ("glue") software components, and enable rapid development. Scripts are typically executed by an interpr...
Search Algorithm
Search algorithms are methods for locating a target item within a collection or navigating structures like arrays, trees, and graphs. They range from simple scans to sophisticated, heuristic-driven st...
Selection Sort
Selection sort is a simple comparison-based sorting algorithm that repeatedly selects the smallest remaining element and moves it to its correct position. It runs in quadratic time, uses constant extr...
Serialization
Serialization is the process of converting in-memory data structures or objects into a format that can be stored or transmitted and later reconstructed (deserialized). It underpins data persistence, i...
Sha-256
SHA-256 is a cryptographic hash function that produces a 256-bit hash value, often represented as a 64-digit hexadecimal number. It is widely used in security applications and protocols, including TLS...
Shortest Path Problem (SSP)
data_structures algorithms basics_of_computer_science Shortest path problems ask for the minimum-cost route between nodes in a graph. Cost can mean hops, time, distance, or any additive weight on edges. Different constraints call for different algorithms...
Single-Pair Shortest Path (SPSP)
data_structures algorithms Single-pair shortest path finds the minimum-cost route between one source node and one target node in a graph. It differs from single-source and all-pairs problems by optimizing effort for just one pa...
Single-Source Shortest Path (SSSP)
data_structures algorithms Single-source shortest path (SSSP) finds the minimum-cost path from one start node to every other node in a weighted graph. The right algorithm depends on edge weights and graph structure: BFS for unw...
Software
Software is the set of programs and data that instruct computers to perform tasks. It ranges from operating systems and device firmware to apps, services, and libraries. Software is built using progra...
Software Engineering
testing software_engineering Software engineering is the systematic application of engineering approaches to the development of software. It involves the principles of software design, development, testing, and maintenance to ens...
Splay Tree
Splay trees are self-adjusting binary search trees that move recently accessed elements to the root via rotations, a process called splaying. They guarantee efficient performance over sequences of ope...
Stable Sorting
Stable sorting refers to sorting algorithms or implementations that preserve the relative order of records with equal keys. Stability is crucial when performing multi-key sorts, when original order co...
Stack
A stack is a fundamental linear data structure that follows the Last-In, First-Out (LIFO) principle. Items are added and removed only from the top, supporting fast push, pop, and peek operations. Stac...
String
Strings are a fundamental data type used in programming to represent text. They are sequences of characters and are employed in almost every aspect of software development, from handling user input to...
Switch Case
Switch/case is a control-flow construct that selects one of many branches based on the value of an expression. It provides a clearer, often more efficient alternative to long chains of if/else-if stat...

T

Thread Safety
Thread safety is a concept in software development that ensures that shared data structures or resources are accessed correctly when multiple threads are involved, preventing data corruption or unexpe...
Token
basics_of_computer_science apis_&_frameworks A token is a small, meaningful unit used to represent information in computing. In code, lexers convert raw text into tokens that parsers can understand. In security and APIs, tokens carry identity an...
Tokenization
Tokenization is the process of breaking down text into smaller units called tokens, which could be words, phrases, or symbols. It is a fundamental step in natural language processing (NLP) and text an...
Transactional Anchoring
coercive_social_influence Transactional anchoring is the use of an initial number or reference point to shape judgments and choices in exchanges, deals, and pricing. The first figure seen becomes a mental anchor that people ad...
Tree
data_structures algorithms A tree is a hierarchical data structure where nodes are connected by edges with exactly one path from the root to any node. It models parent-child relationships and is a special case of a graph that i...
Trie
data_structures algorithms A trie is a prefix tree for strings that stores characters along paths, sharing common prefixes across keys. It offers O(L) insert, search, and prefix queries where L is the key length, largely indepe...

U

Understanding Personality Psychology
Personality Psychology is a branch of psychology that studies personality and its variation among individuals. This discipline seeks to understand the individual differences in behavior, emotion, and ...
Undirected Graph
data_structures algorithms An undirected graph models relationships where connections have no direction, like mutual friendships or two-way roads. It consists of vertices (nodes) and edges that connect pairs of vertices. Key id...

V

Version Control
Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. It is an essential tool in software development, allowing multiple ...

W

Web Assembly
compiled_languages c c++ rust WebAssembly (Wasm) is a compact, low-level bytecode format designed to run high-performance code safely and portably across platforms, especially in web browsers and lightweight runtimes. Developers t...
Weighted Graph
data_structures A weighted graph is a graph where each edge has a numeric weight that represents cost, distance, capacity, or any measurable value. It can be directed or undirected, and weights may be positive, zero,...

X

XML
XML, or eXtensible Markup Language, is a flexible text format used for structuring, storing, and transporting data. It provides a set of rules for encoding documents in a format that is both human-rea...

Y

Yaml
YAML (YAML Ain't Markup Language) is a human-readable data serialization format that is often used for configuration files and data exchange between languages with different data structures. It is des...