1/41
Vocabulary flashcards covering key data structures, abstract data types, hashing, trees, and algorithm concepts from the lecture notes.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Data Structures
A particular way of organizing data in a computer to be used efficiently; involves arranging data in memory to represent values of an abstract data type and is key to designing efficient algorithms.
Pointer
A value that specifies a memory address, enabling the program to fetch and store data at that location.
Memory Address
A bit string representing a location in memory where data is stored.
Array
A fixed-length, ordered collection of values of the same type stored contiguously in memory; can be one- or two-dimensional; elements identified by indices.
Array Element
An individual value stored in an array, accessed via an index.
Matrix
A two-dimensional array (rows and columns) used to store data in a grid-like structure.
List
An abstract data type representing a sequence of values (duplicates allowed) with two main forms: one optimized for first-element/rest access and one with random access via an indexer.
Linked List
A list implemented as nodes where each node contains data and a link (reference) to the next node; allows insertions/removals without shifting and need not be stored contiguously.
Node
A basic element in a linked data structure that contains data and a link to another node.
Stack
An abstract data type with push (add) and pop (remove); follows Last-In-First-Out (LIFO) order; top is the accessible end of the structure.
Push
The operation to add an item to the top of a stack.
Pop
The operation to remove the top item from a stack.
Peek/Top
The operation to view the top item of a stack without removing it.
Queue
An abstract data type where elements are kept in order with First-In-First-Out (FIFO) semantics; insert at rear, remove from front.
Enqueue
The operation to add an element to the rear of a queue.
Dequeue
The operation to remove an element from the front of a queue.
Front
The front element of a queue (or the front end of a data structure).
Hashing
A method for storing and retrieving records by computing a table index using a hash function so records are placed in a hash table.
Hash Table
An array used to store records in a hashing scheme.
Hash Function
A function that computes the index in the hash table from a search key.
Slot
A position (index) in the hash table where a record can be stored.
M
The number of slots in the hash table; slots are numbered 0 to M-1.
Tree
A data structure made of nodes (vertices) and edges with no cycles.
Root
The top node of a non-empty tree.
Null or Empty Tree
A tree with no nodes.
Abstract Data Type (ADT)
A mathematical model for a class of data structures with similar behavior, defined by the operations that may be performed and the mathematical pre-conditions/constraints on effects.
Abstract Array
An abstract data type representing an array with operations such as adding, sorting, and searching.
Abstract List
An abstract data type representing a list with operations like inserting, searching, and deleting.
Abstract Stack
An abstract data type with operations push, pop, and top/peek.
Abstract Queue
An abstract data type with operations enqueue, dequeue, and front.
Abstract Hashing
An abstract data type focusing on storing and retrieving records using hashing (add/delete) and hashing structures.
Abstract Tree
An abstract data type focusing on tree structures and their operations.
Algorithm
A finite sequence of steps for solving a computational task; may be described in human language, pseudocode, or flowcharts; must terminate with a result.
Pseudocode
An informal, high-level description of an algorithm using the structure of programming languages but meant for human reading, omitting nonessential details.
Flowchart
A diagrammatic representation of an algorithm or process using standard symbols connected by arrows.
Terminal
symbol indicating the start or end of a process.
Input/Output
symbol indicating input or output operations.
Process
symbol representing a data-processing step.
Decision
symbol indicating a branching decision point.
On-page Connector
symbol used to connect parts of a flowchart on the same page.
Off-page Connector
symbol used to connect parts of a flowchart across pages.
Comment
symbol used to include explanatory statements.