Competitive Programming
Competitive Programming, available at $44.99, has an average rating of 4.3, with 140 lectures, based on 93 reviews, and has 7491 subscribers.
You will learn about Competitive Programming Algorithms Data Structures Programming Merge Sort, QuickSort, Count Sort, Bucket Sort Linear Search, Binary Search, QuickSelect, Two Pointer Technique Stacks, Queues, Hash Tables, Hash Sets, Heap-Based Structures, Binary Search Tree-Based Data Structures, Coordinate Compression, Custom Comparators Hash Functions, Collisions, Rabin-Karp, Sliding Window Technique Greedy Algorithms Iterative Complete Search, Backtracking, Permutations, Subsets, Pruning Divide and Conquer, Binary Search the Answer, the Bisection Method Dynamic Programming: Competitive Approach, Top-Down and Bottom-Up DP, Space Optimisation, Prefix Sums, Backtracking to Find Solutions Graph Representation: Adjacency Lists, Adjacency Matrices, Edge Lists, Weighted and Unweighted Graphs Graph Exploration: Breadth-First Search (BFS), Depth-First Search (DFS), Connected Components, Multi-Source BFS Directed Graphs and Cycles: Topological Sort, Strongly Connected Components, BFS for Single-Source Shortest Paths Shortest Paths: Dijkstra, Floyd-Warshall's, Bellman-Ford and Negative-Weight Cycles, Arbitrages and the Logarithm Trick Trees: Special Properties, Faster Shortest Paths, Diameter, Minimum Spanning Trees Union-Find Disjoint Sets: Optimised Implementation, Kruskal's Algorithm, Minimum Spanning Tree Variants Strings: Dynamic Programming on Strings, Longest Common Subsequence, Edit Distance, Longest Palindromic Substring, Tries, Suffix Tries Game Theory: States and Transitions, Minimax for Optimal Game Playing, Dynamic Programming To Recover Optimal Strategies Approaching Interactive Problems This course is ideal for individuals who are Students and engineers wishing to delve into competitive programming, diving into the details and soaring up the rankings or Developers with a desire to master algorithms to succeed in technical interviews or High school students with a passion for Mathematics interested in seeing algorithms applied to technology or Anyone interested in gaining insights and learning the details of algorithms and data structures It is particularly useful for Students and engineers wishing to delve into competitive programming, diving into the details and soaring up the rankings or Developers with a desire to master algorithms to succeed in technical interviews or High school students with a passion for Mathematics interested in seeing algorithms applied to technology or Anyone interested in gaining insights and learning the details of algorithms and data structures.
Enroll now: Competitive Programming
Summary
Title: Competitive Programming
Price: $44.99
Average Rating: 4.3
Number of Lectures: 140
Number of Published Lectures: 140
Number of Curriculum Items: 140
Number of Published Curriculum Objects: 140
Original Price: €94.99
Quality Status: approved
Status: Live
What You Will Learn
- Competitive Programming
- Algorithms
- Data Structures
- Programming
- Merge Sort, QuickSort, Count Sort, Bucket Sort
- Linear Search, Binary Search, QuickSelect, Two Pointer Technique
- Stacks, Queues, Hash Tables, Hash Sets, Heap-Based Structures, Binary Search Tree-Based Data Structures, Coordinate Compression, Custom Comparators
- Hash Functions, Collisions, Rabin-Karp, Sliding Window Technique
- Greedy Algorithms
- Iterative Complete Search, Backtracking, Permutations, Subsets, Pruning
- Divide and Conquer, Binary Search the Answer, the Bisection Method
- Dynamic Programming: Competitive Approach, Top-Down and Bottom-Up DP, Space Optimisation, Prefix Sums, Backtracking to Find Solutions
- Graph Representation: Adjacency Lists, Adjacency Matrices, Edge Lists, Weighted and Unweighted Graphs
- Graph Exploration: Breadth-First Search (BFS), Depth-First Search (DFS), Connected Components, Multi-Source BFS
- Directed Graphs and Cycles: Topological Sort, Strongly Connected Components, BFS for Single-Source Shortest Paths
- Shortest Paths: Dijkstra, Floyd-Warshall's, Bellman-Ford and Negative-Weight Cycles, Arbitrages and the Logarithm Trick
- Trees: Special Properties, Faster Shortest Paths, Diameter, Minimum Spanning Trees
- Union-Find Disjoint Sets: Optimised Implementation, Kruskal's Algorithm, Minimum Spanning Tree Variants
- Strings: Dynamic Programming on Strings, Longest Common Subsequence, Edit Distance, Longest Palindromic Substring, Tries, Suffix Tries
- Game Theory: States and Transitions, Minimax for Optimal Game Playing, Dynamic Programming To Recover Optimal Strategies
- Approaching Interactive Problems
Who Should Attend
- Students and engineers wishing to delve into competitive programming, diving into the details and soaring up the rankings
- Developers with a desire to master algorithms to succeed in technical interviews
- High school students with a passion for Mathematics interested in seeing algorithms applied to technology
- Anyone interested in gaining insights and learning the details of algorithms and data structures
Target Audiences
- Students and engineers wishing to delve into competitive programming, diving into the details and soaring up the rankings
- Developers with a desire to master algorithms to succeed in technical interviews
- High school students with a passion for Mathematics interested in seeing algorithms applied to technology
- Anyone interested in gaining insights and learning the details of algorithms and data structures
Ready to take your programming skills to the next level? In this course, which will help both novice and advanced programmers alike, you will dominate the algorithms and data structures necessary to do well in contests and to gain a competitive edge over other candidates in software interviews.
There are many tricks which are gained through experience and competitive programmers have a sixth sense when it comes to breaking problems down into the building blocks that make up a solution and which many are reluctant to share. Here I will let you in on the techniques and the applications that are useful for the field, focusing on real problems and how they are solved, while giving you an intuition on what is going on under the hood and why these ideas work.
From dynamic programming to graph algorithms and backtracking, you will get to practise and feel confident about many topics, learning advanced concepts such as union-find disjoint sets, tries and game theory without feeling lost, and to apply new content as soon as you learn it, with over 100 suggested problems, both from past olympiads and online judges and some created by me specifically for this course. All of them come with detailed solutions. With this course, you will be ready to participate in online contests and informatics olympiads, and will have the experience necessary to continue advancing in this field. Are you ready to take this big step in your journey?
Course Curriculum
Chapter 1: Introduction
Lecture 1: About the Instructor
Lecture 2: Course Prerequisites
Lecture 3: Course Structure
Lecture 4: What is an Online Judge?
Lecture 5: Online Judge Verdicts
Lecture 6: Types of Problem in Programming Contests
Lecture 7: I/O for Competitive Programming
Lecture 8: Welcome Contest
Lecture 9: Hints and Solutions
Chapter 2: Sorting
Lecture 1: Introduction to Section 2 and the Horse Race Problem
Lecture 2: Sorting in C++ Using Custom Comparators
Lecture 3: Structs and Overloading Comparison Operators
Lecture 4: Merge Sort
Lecture 5: QuickSort
Lecture 6: DNA Sorting Problem
Lecture 7: Count Sort
Lecture 8: Football Problem
Lecture 9: Bucket Sort
Lecture 10: Bucket Sort Solution to the Football Problem
Lecture 11: Problem Set 1
Lecture 12: Hints and Solutions
Chapter 3: Searching
Lecture 1: Linear Search
Lecture 2: Binary Search
Lecture 3: QuickSelect
Lecture 4: Two Pointer Technique: Start+End
Lecture 5: Two Pointer Technique: Different Paces
Lecture 6: Problem Set 2
Lecture 7: Hints and Solutions
Chapter 4: STL Data Structures: Stacks, Queues and BST- and Heap-based Structures
Lecture 1: Stacks: bracket matching
Lecture 2: Queues
Lecture 3: Hash Tables and Hash Sets Introduction
Lecture 4: Unordered (Hash) Sets and Maps in C++
Lecture 5: Ordered Sets and Maps
Lecture 6: Dictionaries
Lecture 7: Coordinate compression
Lecture 8: Custom Comparators for STL Data Structures
Lecture 9: Problem Set 3
Lecture 10: Hints and Solutions
Chapter 5: Hashing
Lecture 1: Hash Functions
Lecture 2: Extra: Handling Collisions
Lecture 3: Rabin-Karp Case Study: Pattern Search
Lecture 4: Rabin-Karp Case Study: Polynomial Rolling Hash Functions
Lecture 5: Rabin-Karp Case Study: Sliding Window Technique
Lecture 6: Sliding Window Technique: Subarray Sums
Lecture 7: Problem Set 4
Lecture 8: Hints and Solutions
Chapter 6: Greedy Algorithms
Lecture 1: What are Greedy Algorithms?
Lecture 2: Greedy Coin Change
Lecture 3: Demonstrating Correctness Under Contest Time Pressure
Lecture 4: Timetable Problem
Lecture 5: Interval Covering
Lecture 6: Sort -> Solve
Lecture 7: Problem Set 5
Lecture 8: Hints and Solutions
Chapter 7: Complete Search
Lecture 1: Complete Search Introduction
Lecture 2: Backtracking Introduction
Lecture 3: Backtracking: Permutations
Lecture 4: Backtracking: Subsets
Lecture 5: Pruning: Card Game
Lecture 6: Iterative Complete Search
Lecture 7: Problem Set 6
Lecture 8: Hints and Solutions
Chapter 8: Divide and Conquer
Lecture 1: Revisiting Sections 2 and 3
Lecture 2: Binary Search the Answer
Lecture 3: The Bisection Method
Lecture 4: Problem Set 7
Lecture 5: Hints and Solutions
Chapter 9: Dynamic Programming
Lecture 1: Top-Down Fibonacci
Lecture 2: Bottom-Up Fibonacci
Lecture 3: How to Recognise and Approach DP Problems
Lecture 4: Maximum One-Dimensional Range Sum
Lecture 5: Space Optimisation
Lecture 6: Optimal Coin Change 1
Lecture 7: Optimal Coin Change 2
Lecture 8: Backtracking to Find Solutions
Lecture 9: Prefix Sums
Lecture 10: Horses Problem Revisited
Lecture 11: Horses Addendum
Lecture 12: Problem Set 8
Lecture 13: Hints and Solutions
Chapter 10: Graphs 1: Graph Exploration
Lecture 1: Graph Terminology
Lecture 2: Graph Representation
Lecture 3: Depth-First Search
Lecture 4: Breadth-First Search
Lecture 5: Farthest Node: BFS Application
Lecture 6: Graph Sums: DFS Application
Lecture 7: Connected Components
Lecture 8: Labyrinth Problem Part 1: Single-Source BFS
Lecture 9: Labyrinth Problem Part 2: Multi-Source BFS
Lecture 10: Problem Set 9
Instructors
-
Blanca Huergo
Chairwoman of the Spanish Informatics Olympiad for Girls
Rating Distribution
- 1 stars: 5 votes
- 2 stars: 3 votes
- 3 stars: 8 votes
- 4 stars: 18 votes
- 5 stars: 59 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024