1/39
Vocabulary flashcards related to Data Structures and Memory Management in C++.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Data Structure
A structural representation of logical relationships between elements of data.
Algorithm
A step-by-step finite sequence of instructions to solve a well-defined computational problem.
Divide, Conquer, and Combine
Dividing a problem into sub-problems for easier solutions.
Storage Structure
The representation of a data structure in the computer's memory.
File Structure
A storage structure representation in auxiliary memory.
Stepwise Refinement Techniques
A method where a problem is converted to a program through several steps of refinement.
Modeling
Representing a problem using an appropriate mathematical model.
Formal Algorithm
Writing an algorithm in pseudo-language using programming language constructs and informal statements.
Modular Programming
Designing and writing programs as functions, each performing a single, well-defined function with minimal interaction.
Top-Down Algorithm Design
A programming approach where a program is divided into a main module and related sub-modules.
Bottom-Up Algorithm Design
A programming approach where an application is constructed starting with existing primitives and building more complex features.
Structured Programming
A programming style using sequence, conditional execution, looping, and structured subroutine calls.
Analysis of Algorithm
Analyzing an algorithm to check its correctness and predict its performance.
Space Complexity
The amount of memory an algorithm needs to run to completion.
Instruction space
Space needed to store the executable version of the program and it is fixed.
Data space
Space needed to store all constants, variable values.
Environment stack space
Space needed to store information to resume suspended functions, including return addresses and variable values.
Time Complexity
The amount of time an algorithm needs to run to completion.
Key operation
Operation that takes maximum time among all possible operations in the algorithm.
Amortized Complexity
The complexity calculated when instructions are executed.
Big “Oh” Notation
A characteristic scheme measuring algorithm complexity performance and/or memory requirements.
Primitive Data Structures
Basic data structures directly operated upon by machine instructions, such as integers and characters.
Non-Primitive Data Structures
Sophisticated data structures emphasizing the structuring of data items, like arrays and lists.
Array
A collection of homogeneous data elements described by a single name.
One Dimensional Array
An array referenced by a single subscript.
Multi Dimensional Array
Arrays referenced by two or more subscripts.
Sparse Array
An array where nearly all elements have the same value.
Vector
A one-dimensional ordered collection of numbers.
List
An ordered set consisting of a varying number of elements to which insertion and deletion can be made.
Record
A collection of information about a particular entity.
String
A sequence of characters.
Sub String
A group of consecutive characters in a string.
Memory management
Process in which management of a computer’s memory occurs.
Static variables
Variables that remain in use throughout the execution of a program.
Stack frame
A frame of data that contains the corresponding function’s local variables.
New Operator
Operator used to create an object.
Delete Operator
Operator used to delete the object.
malloc()
A function that allocates memory at runtime.
free() function
A function used in C++ to de-allocate the memory dynamically.
Dynamic Allocation
Memory Management