PSU CMPSC 465

Contents

PSU CMPSC 465#

Algorithms and Data Structures


Sections#


Query Algorithm (e.g., search tree)

  • point lookup

  • rank query

  • range query

Lay out the data in such a way as to facilitate a query, in a way that would be faster than simply scanning unsorted records

Insert Algorithm (for dynamic data structure)

Delete Algorithm (for dynamic data structure)

Analysis

  • Proof of correctness

    • formalize inputs and outputs

    • establish properties necessary for correct outputs

    • show that these properties hold for all inputs

  • Performance analysis

    • provide upper/lower bounds on space (memory/storage) and time (number of cpu operations, the number of things the algorithm has to do): a function of input size

    • expected case analysis requires statistics

    • can we beat brute force?

  • Asymptotic Analysis

  • Divide and Conquer - split problem into two or more sub problems and recursively solving those and then merging the results together

    • recursive functions

    • recurrence relations

  • Trees - a special case of a graph

  • Graphs

  • Greedy Algorithms

  • Dynamic Programming

  • Linear Programming and Flow Networks

  • Complexity Theory