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

Popular posts from this blog

CST 349 - Week 4 Learning Journal

CST349 Week 2 - Learning Journal

CST 349 - Week 5 Learning Journal