Module 1: Introduction to Data Structures and Complexity - Vocabulary Flashcards

0.0(0)
studied byStudied by 7 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/35

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering key terms from the notes on data structures, classifications, examples, and algorithm complexity.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

36 Terms

1
New cards

Data

Values or attributes used in calculations, decision-making, and problem-solving.

2
New cards

Primitive Data

Basic building blocks that store single values; fixed size and fast; directly supported by hardware.

3
New cards

Non-Primitive Data (Reference Types)

Derived from primitive types; can store multiple values or collections; refer to memory locations rather than store data directly.

4
New cards

Abstract Data Type (ADT)

A blueprint for organizing data; defines operations and behavior without specifying how data is stored.

5
New cards

Structure

Defines how data is stored and accessed in memory and the rules governing operations like insertion, deletion, and searching.

6
New cards

Characteristics of a Structure

Determines how data is linked, memory usage, and processing time for operations.

7
New cards

Linear Data Structures

Data arranged sequentially; each element has a unique predecessor and successor; efficient for sequential access.

8
New cards

Non-Linear Data Structures

Data arranged hierarchically or multi-level; elements may connect to multiple others; efficient for complex relationships.

9
New cards

Static Data Structures

Fixed size; memory allocated at compile-time; fast access but less flexible.

10
New cards

Dynamic Data Structures

Grow or shrink at runtime; memory allocated dynamically; more flexible but with allocation overhead.

11
New cards

Arrays

Fixed-size collection of elements stored contiguously in memory.

12
New cards

Linked List

Collection of nodes where each node contains data and a reference to the next node.

13
New cards

Stack

Last-In, First-Out data structure; used in function calls and undo/redo operations.

14
New cards

Queue

First-In, First-Out data structure; used in scheduling and message processing.

15
New cards

Trees

Hierarchical structure with nodes connected as parent-child relationships; used in databases, file systems, and AI.

16
New cards

Graphs

Nodes connected by edges, representing relationships; used in social networks, web crawling, and shortest path algorithms.

17
New cards

Hash Tables

Key-value stores for fast retrieval; used in caching, dictionaries, and indexing.

18
New cards

Data Access Speed

How quickly data can be read or written; a key criterion for choosing a data structure.

19
New cards

Memory Constraints

Limitations on memory usage that influence data structure choice.

20
New cards

Complex Relationships

Hierarchical or network-like relationships that are efficiently represented by trees or graphs.

21
New cards

Dynamic vs Static Needs

Whether data size changes; guides choice between dynamic and static data structures.

22
New cards

Primitive Data Structures

Basic built-in types (e.g., int, float, char, bool) that are atomic and fixed in memory.

23
New cards

Non-Primitive Data Structures (Examples)

Structures built from primitives, such as arrays and structs.

24
New cards

Classes & Objects

Object-oriented programming constructs; classes define types and objects are instances.

25
New cards

B-Trees

Balanced tree data structure used for efficient indexing in databases.

26
New cards

Inverted Indexes

Index mapping keywords to documents/pages used in search engines.

27
New cards

PageRank

Ranking algorithm used to determine the relevance of web pages in search engines.

28
New cards

BFS / DFS

Breadth-First Search and Depth-First Search, graph traversal algorithms.

29
New cards

Syntax Trees & Symbol Tables

Data structures used by compilers to represent code and manage identifiers.

30
New cards

Parsing Algorithms

Algorithms (e.g., recursive descent) used to analyze program structure.

31
New cards

Big O Notation

Notation expressing the upper bound of an algorithm's time or space growth.

32
New cards

Time Complexity

Growth of an algorithm's runtime with respect to input size.

33
New cards

Space Complexity

Growth of an algorithm's memory usage, including auxiliary space.

34
New cards

Auxiliary Space

Extra memory used by an algorithm beyond input data.

35
New cards

Input Storage

Memory required to hold the input data.

36
New cards

Contiguous Memory

Memory allocated in a single, continuous block.