CST 370 - Week 1 Journal
Introduction to Algorithms
- Core Concepts:
- An algorithm is a precise sequence of steps for solving a problem or performing a computation.
- Algorithms helps us solve problems efficiently
- Key properties of algorithms:
- well-defined inputs and outputs
- finite and ambiguous steps
-effectiveness and termination
- Analysis framework
- not all correct algorithms are efficient. Analysis gives us a way to measure efficiency
- Key tools:
- time complexity
- Big-O notation (upper bounds)
- Big-Ω (tight bounds)
- counting operations
- how to count steps independent of machine speed
- input size
- how runtime grows as n increases
Pseudocode
- Core Concepts
- Pseudocode is an informal language for describing algorithms
- It emphasizes readability and logic, and not exact syntax
- Common features:
- control structures: if, else, for, while
- how arrays and indices are described
- how functions and procedures are represented
- how to track operations and outputs
Fundamental Data Structures
- Data structures are ways of organizing data to support efficient operations
- Arrays
- fixed size, indexed
- access vs. search costs
- linked lists
- nodes with pointers
-pros/cons vs arrays
- stacks and queues
- LIFO and FIFO behavior
- Used to manage tasks, recursive simulation
- trees and has tables
Comments
Post a Comment