Graph Algorithms

Topics covered
Popular Clips
Episode Highlights
Greedy Algorithms
Greedy algorithms are a fascinating approach in computer science, often used for solving optimization problems. Michael Outlaw explains that these algorithms make decisions based on the best immediate choice, rather than considering the entire problem space. This method is exemplified by Dijkstra's algorithm, which finds the shortest path by evaluating the lowest cost next step 1. Joe Zack humorously relates greedy algorithms to everyday scenarios like making change or salary negotiations, highlighting their practical applications 2.
A greedy algorithm would take, hey, I might not be able to determine the absolute shortest path all the way. That's the problem with the traveling salesman problem.
--- Michael Outlaw
These algorithms are efficient but may not always yield the optimal solution, making them both a powerful and sometimes limited tool in a programmer's toolkit.
  Â
Dynamic Programming
Dynamic programming offers a strategic approach to solving complex problems by breaking them down into simpler subproblems. Joe Zack describes it as an optimization method developed by Richard Bellman in the 1950s, which uses memoization to store calculations and avoid redundant work 3. This technique is particularly useful in scenarios where problems can be divided into overlapping subproblems, allowing for efficient computation of solutions.
It's an optimization method for algorithms developed in the 1950s by Richard Bellman.
--- Joe Zack
Though not frequently encountered in everyday programming tasks, dynamic programming is a valuable skill for tackling specific algorithmic challenges 4.
Related Episodes


Algorithms You Should Know
Answers 383 questions
What is Algorithmic Complexity?
Answers 383 questionsShow Recursion Show
Answers 383 questions

Data Structures - (some) Trees
Answers 383 questions88. Algorithmic Complexity
Answers 383 questions95. Data Structures – Arrays and Array-ish
Answers 383 questions

Gitlab vs Github, AI vs Microservices
Answers 383 questionsClean Code - How to Write Amazing Functions
Answers 383 questions

Data Structures - Arrays and Array-ish
Answers 383 questions94. Data Structures - Primitives
Answers 383 questions

Data Structures - Heaps and Tries
Answers 383 questionsHierarchical Data – Adjacency Lists and Nested Set Models
Answers 383 questionsDesign Patterns Part 1
Answers 383 questions

Google’s Engineering Practices – How to Navigate a Code Review
Answers 383 questions

Google’s Engineering Practices – Code Review Standards
Answers 383 questions
