1/22
These flashcards cover essential definitions and concepts related to data structures and algorithms from the provided lecture notes.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Data Structure
A defined format for managing, assessing, retrieving, and storing data.
Primitive Data Structures
Basic data structures that can be operated on machine and data instructions directly, like integers and pointers.
Non-Primitive Data Structures
Data structures derived from primitive data structures, such as stacks, graphs, and trees.
Traversing
The process of visiting each element of a data structure to perform operations like searching or sorting.
Insertion
The process of adding elements to a data structure at any location.
Deletion
The removal of an element from a data structure.
Searching
Detecting the location of an element within a data structure.
Sorting
The organization of data in a particular order.
Merging
The process of combining two lists of elements to form a new list.
Pointer
A derived data type that stores the address of another variable.
Dereferencing
The process of retrieving the value stored at the location referenced by a pointer.
Dynamic Memory Allocation
A programming technique where memory is allocated during runtime, enabling flexible data structure management.
Malloc() Function
Allocates a single block of requested memory.
Calloc() Function
Allocates multiple blocks of requested memory and initializes all bytes to zero.
Realloc() Function
Changes the size of previously allocated memory.
Free() Function
Deallocates memory previously allocated with malloc() or calloc().
Union
A user-defined data type that can store different data types in the same memory location.
Algorithm
A finite sequence of instructions that can be performed in a finite amount of time.
Input Specification
The well-defined data that an algorithm needs to process to generate output.
Output Specification
The well-defined data that results from the computation of an algorithm.
Effectiveness of Algorithm
Ensures outputs are feasible with available resources and avoids unnecessary steps.
Finiteness
An algorithm should terminate after a finite number of steps.
Definiteness
Each step of the algorithm must be clearly defined and unambiguous.