Oreilly – Advanced Algorithms and Data Structures, video edition 2021-11

Oreilly – Advanced Algorithms and Data Structures, video edition 2021-11

Oreilly – Advanced Algorithms and Data Structures, video edition 2021-11
Oreilly – Advanced Algorithms and Data Structures, video edition 2021-11

Advanced Algorithms and Data Structures, video edition. This course teaches you powerful approaches to solving a wide range of coding challenges that you can implement in your own programs. With a balanced mix of classic, advanced, and new algorithms, this practical guide will enhance your programming toolbox with new insights and practical techniques. This course will help you become a more efficient programmer by using advanced algorithms and data structures. You will learn how to solve complex programming challenges with innovative approaches and improve the performance of your programs.

What you will learn:

  • Strengthen basic data structures: Focus more on the data structures you already know.
  • Algorithm Optimization: Speed ​​up your applications by profiling algorithms.
  • Storing and Querying Strings: Learn efficient ways to store and search text data.
  • Distributed clustering algorithms: Distribute clustering algorithms with MapReduce.
  • Solving Logistic Problems: Solve logistical problems using graphs and optimization algorithms.

Who is this course suitable for?

  • This course is suitable for intermediate-level programmers.

Course details

  • Publisher: Oreilly
  • Instructor: Marcello La Rocca
  • Training level: Beginner to advanced
  • Training duration: 23 hours and 38 minutes

Course topics

  • Chapter 1 Introducing data structures
  • Part 1. Improving over basic data structures
  • Chapter 1 Describing a data structure
  • Chapter 1 Packing your knapsack: Data structures meet the real world
  • Chapter 1 Algorithms to the rescue
  • Chapter 2 Improving priority queues: d-way heaps
  • Chapter 2 Solutions at hand: Keeping a sorted list
  • Chapter 2 Concrete data structures
  • Chapter 2 Priority, min-heap, and max-heap
  • Chapter 2 How to implement a heap
  • Chapter 2 PushDown
  • Chapter 2 Top
  • Chapter 2 Heapify
  • Chapter 2 Use case: Find the k largest elements
  • Chapter 2 More use cases
  • Chapter 2 Analysis of branching factor
  • Chapter 2 Performance analysis: Finding the best branching factor
  • Chapter 2 Interpreting results
  • Chapter 2 The mystery with heapify
  • Chapter 3 Treaps: Using randomization to balance binary search trees
  • Chapter 3 Treap
  • Chapter 3 A few design questions
  • Chapter 3 Delete
  • Chapter 3 Applications: Randomized traps
  • Chapter 3 Performance analysis and profiling
  • Chapter 3 Height profiling
  • Chapter 3 Profiling memory usage
  • Chapter 4 Bloom filters: Reducing the memory for tracking content
  • Chapter 4 Alternatives to implementing a dictionary
  • Chapter 4 Concrete data structures
  • Chapter 4 Binary search tree: Every operation is logarithmic
  • Chapter 4 Implementation
  • Chapter 4 Constructor
  • Chapter 4 Applications
  • Chapter 4 Why Bloom filters work
  • Chapter 4 Performance analysis
  • Chapter 4 Explanation of the false-positive ratio formula
  • Chapter 4 Improved variants
  • Chapter 5 Disjoint sets: Sub-linear time processing
  • Chapter 5 Reasoning on solutions
  • Chapter 5 Naive solution
  • Chapter 5 Using a tree-like structure
  • Chapter 5 Heuristics to improve the running time
  • Chapter 5 Applications
  • Chapter 6 Trie, radix trie: Efficient string search
  • Chapter 6 Trie
  • Chapter 6 Search
  • Chapter 6 Insert
  • Chapter 6 Keys matching a prefix
  • Chapter 6 Radix tries
  • Chapter 6 Search
  • Chapter 6 Applications
  • Chapter 6 String sorting
  • Chapter 7 Use case: LRU cache
  • Chapter 7 First attempt: Remembering values
  • Chapter 7 Handling asynchronous calls
  • Chapter 7 Memory is not enough (literally)
  • Chapter 7 Getting rid of stale data: LRU cache
  • Chapter 7 Temporal ordering
  • Chapter 7 When fresher data is more valuable: LFU
  • Chapter 7 How to use cache is just as important
  • Chapter 7 Solving concurrency (in Java)
  • Chapter 7 Read locks
  • Part 2. Multidimensional queries
  • Chapter 8 Nearest neighbors search
  • Chapter 8 Simplifying things to get a hint
  • Chapter 8 Moving to k-dimensional spaces
  • Chapter 9 Kd trees: Multidimensional data indexing
  • Chapter 9 Constructing the BST
  • Chapter 9 Methods
  • Chapter 9 Balanced tree
  • Chapter 9 Remove
  • Chapter 9 Nearest neighbor
  • Chapter 9 Region search
  • Chapter 10 Similarity Search Trees: Approximate nearest neighbors search for image retrieval
  • Chapter 10 R-tree
  • Chapter 10 Inserting points in an R-tree
  • Chapter 10 Similarity search tree
  • Chapter 10 SS-tree search
  • Chapter 10 Insert
  • Chapter 10 Insertion: Split nodes
  • Chapter 10 Delete
  • Chapter 10 Similarity Search
  • Chapter 10 Approximate similarity search
  • Chapter 10 SS+-tree
  • Chapter 10 Reducing overlap
  • Chapter 11 Applications of nearest neighbor search
  • Chapter 11. Centralized application
  • Chapter 11 Moving to a distributed application
  • Chapter 11 Other applications
  • Chapter 11 Multidimensional DB queries optimization
  • Chapter 12 Clustering
  • Chapter 12 Types of learning
  • Chapter 12 K-means
  • Chapter 12 The curse of dimensionality strikes again
  • Chapter 12 Boosting k-means with kd trees
  • Chapter 12 DBSCAN222
  • Chapter 12 From definitions to an algorithm
  • Chapter 12 And finally, an implementation
  • Chapter 12 OPTICS
  • Chapter 12 From reachability distance to clustering
  • Chapter 12 Hierarchical clustering
  • Chapter 12. Evaluating clustering results: Evaluation metrics
  • Chapter 13 Parallel clustering: MapReduce and canopy clustering
  • Chapter 13 Canopy clustering
  • Chapter 13 MapReduce
  • Chapter 13 First map, then reduce
  • Chapter 13 MapReduce k-means
  • Chapter 13 Parallelizing canopy clustering
  • Chapter 13 MapReduce canopy clustering
  • Chapter 13 MapReduce DBSCAN – Part 1
  • Chapter 13 MapReduce DBSCAN – Part 2
  • Part 3. Planar graphs and minimum crossing number
  • Chapter 14 An introduction to graphs: Finding paths of minimum distance
  • Chapter 14 Implementing graphs
  • Chapter 14 Graph properties
  • Chapter 14 Graph traversal: BFS and DFS
  • Chapter 14 Reconstructing the path to target
  • Chapter 14 Shortest path in weighted graphs: Dijkstra
  • Chapter 14 Beyond Dijkstra’s algorithm: A*
  • Chapter 14 How good is A* search?
  • Chapter 14 Heuristics as a way to balance real-time data
  • Chapter 15 Graph embeddings and planarity: Drawing graphs with minimal edge intersections
  • Chapter 15 Some basic definitions
  • Chapter 15 Planar graphs
  • Chapter 15 Planarity testing
  • Chapter 15 Improving performance
  • Chapter 15 Non-planar graphs
  • Chapter 15 Rectilinear crossing number
  • Chapter 15 Edge intersections
  • Chapter 15 Polylines
  • Chapter 15 Intersections between quadratic Bézier curves
  • Chapter 16 Gradient descent: Optimization problems (not just) on graphs
  • Chapter 16 Did you just say heuristics?
  • Chapter 16 How optimization works
  • Chapter 16 Gradient descent
  • Chapter 16 When is gradient descent applicable?
  • Chapter 16 Applications of gradient descent
  • Chapter 16 Gradient descent for graph embedding
  • Chapter 17 Simulated annealing: Optimization beyond local minima
  • Chapter 17 Sometimes you need to climb up to get to the bottom
  • Chapter 17 Why simulated annealing works
  • Chapter 17 Short-range vs long-range transitions
  • Chapter 17 Simulated annealing + traveling salesman
  • Chapter 17 Exact vs approximate solutions
  • Chapter 17 State transitions
  • Chapter 17 Simulated annealing and graph embedding
  • Chapter 17 Force-directed drawing
  • Chapter 18 Genetic algorithms: Biologically inspired, fast-converging optimization
  • Chapter 18 Inspired by nature
  • Chapter 18 Chromosomes
  • Chapter 18 Natural selection
  • Chapter 18 Selecting individuals for mating
  • Chapter 18 Crossover
  • Chapter 18 The genetic algorithm template
  • Chapter 18 TSP
  • Chapter 18 Results and tuning parameters
  • Chapter 18 Minimum vertex cover
  • Chapter 18 Other applications of the genetic algorithm
  • Chapter 18 Beyond genetic algorithms
  • Appendix A. A quick guide to pseudo-code
  • Appendix A Conditional instructions
  • Appendix A Blocks and indents
  • Appendix B. Big-O notation
  • Appendix B Notation
  • Appendix C. Core data structures
  • Appendix C Tree
  • Appendix C Hash table
  • Appendix D. Containers as priority queues
  • Appendix E. Recursion
  • Appendix E Tail recursion
  • Appendix F. Classification problems and randomized algorithm metrics
  • Appendix F Classification metrics

Course images

Advanced Algorithms and Data Structures, video edition

Sample course video

Installation Guide

After Extract, view with your favorite player.

Subtitles: None

Quality: 720p

Download link

Download Part 1 – 2 GB

Download Part 2 – 947 MB

File(s) password: www.downloadly.ir

File size

2.9 GB