CSE 417 Practical Algorithms, Exams of Algorithms and Programming

(a.k.a. Algorithms & Computational Complexity). Page 2. > Course Goals & Overview. > Administrivia ... Inventing new algorithms is part of the everyday work.

Typology: Exams

2022/2023

Uploaded on 05/11/2023

wilbur
wilbur 🇺🇸

212 documents

1 / 47

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CSE 417
Practical Algorithms
(a.k.a. Algorithms & Computational Complexity)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f

Partial preview of the text

Download CSE 417 Practical Algorithms and more Exams Algorithms and Programming in PDF only on Docsity!

CSE 417

Practical Algorithms

(a.k.a. Algorithms & Computational Complexity)

Course Goals & Overview Administrivia Greedy Algorithms

Outline for Today

Learn the history of important algorithms

Why study algorithms?

Learn the history of important algorithms Appreciate their beauty

Why study algorithms?

Learn the history of important algorithms Appreciate their beauty Impress your friends with your knowledge

Why study algorithms?

Learn the history of important algorithms Appreciate their beauty Impress your friends with your knowledge

Why study algorithms?

Learn the history of important algorithms Appreciate their beauty Impress your friends with your knowledge Inventing new algorithms is part of the everyday work of computer scientists in practice

Why study algorithms?

Learn the history of important algorithms Appreciate their beauty Impress your friends with your knowledge Inventing new algorithms is part of the everyday work of computer scientists in practice Algorithms are critical to the successful use of computers in every subfield of CS

Why study algorithms?

“Everyone knows Moore’s law — a prediction made in 1965 by Intel co-founder Gordon Moore that the density of transistors in integrated circuits would continue to double every 1 to 2 years.... In many areas, performance gains due to improvements in algorithms have vastly exceeded the dramatic performance gains due to increased processor speed.”

Applications of Important Algorithms

— Excerpt from Report to the President and Congress: Designing a Digital Future , December 2010 (page 71)

Algorithms are critical to the successful use of computers in every subfield of computer science

  • understanding the underlying techniques will make these algorithms easier to follow when you encounter them in other subfields

There will be opportunities to invent new algorithms in practice

  • and when you do so, it often has a huge impact
  • the previous slides are examples of this

(Algorithms also come up in coding interviews.)

Why study algorithms?

Teach you the most historically important algorithms

  • we will see some important algorithms, but this will not be a survey course on important algorithms

Teach you the fastest known algorithms for problems

  • they are usually not the best demonstrations of the techniques that we want to discuss

Course Non-Goals

  1. Shortest Paths (mainly in HW)
  2. Binary Search
  3. Divide & Conquer
  4. Dynamic Programming
  5. Network Flows
  6. Branch & Bound

Course Topics

Design Techniques

  1. Divide & Conquer
  2. Dynamic Programming
  3. Branch & Bound Techniques that you can apply to design new algorithms
    • each of these has a good chance of being useful in practice

Course Topics

Solve new problems by transforming them into familiar ones

  • these three are the most likely to show up in practice
  • learning to recognize them is a useful skill

Course Topics

Modeling Techniques

  1. Shortest Paths
  2. Binary Search
  3. Network Flows