Intro to Data Structures (Module 1) Flashcards
what is a step-by-step procedure or set of rules designed to solve a specific problem or perform a task?
algorithm
What are the 3 steps an algorithm takes?
1) takes input
2) processes instructions
3) produces output
What are the 3 characteristics of an algorithm?
1) Finiteness
2) Input/Output
3) Effectiveness
What are the 3 reasons why we use algorithms?
1) problem-solving
2) optimization
3) automation
What is a systematic way of organizing, managing, and storing data to have efficient access and modification?
data structure
What is a contiguous block of memory with random access capability?
array
What is a collection of nodes where each node points to the next (or previous) node?
Linked List
What is a data structure that maps keys to values using a hash function?
Hash Table
Data structures focuses on how data is ________ and __________.
organized, stored
Data structures serves as a building block to implement ________.
ADTs
True or False: Algorithms rely on data structures to manage/manipulate data?
True
Will choosing the right data structure improve algorithm efficiency?
Yes
What is a “conceptual” model that defines a data type based on its behavior instead of its implementation?
Abstract Data Types (ADT)
What defines operations like push, pop, and peek with Last In, First Out (LIFO) behavior?
stack
What has operations like enqueue and dequeue with a First In, First Out (FIFO) behavior?
queue
What are the 3 key characterstics of ADTs?
1) Encapsulation
2) Interface-Driven
3) Implementation Independence
Implementation details hidden from the user is called?
Encapsulation