<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/algorithms/best-of/2023" -->

---
title: Best Algorithms posts of 2023 | daily.dev
description: The most upvoted Algorithms posts of 2023, curated by the daily.dev community.
canonical: https://daily.dev/tags/algorithms/best-of/2023
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/algorithms/best-of/2023
og:type: website
og:site_name: daily.dev
og:title: Best Algorithms posts of 2023 | daily.dev
og:description: The most upvoted Algorithms posts of 2023, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Algorithms — 2023

1. 1  
[](https://daily.dev/posts/learn-javascript-by-building-21-projects-a-major-freecodecamp-curriculum-update-lgzgghtqr "Learn JavaScript by Building 21 Projects – a Major freeCodeCamp Curriculum Update")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 3y  
Learn JavaScript by Building 21 Projects – a Major freeCodeCamp Curriculum Update  
freeCodeCamp has launched a major update to the JavaScript Algorithms and Data Structures Certification. Readers can now learn JavaScript by building 21 projects, including certification projects. The projects cover a wide range of topics and concepts, such as form validation, string and array methods, recursion, functional programming, regular expressions, object-oriented programming, and more.  
217  
3
2. 2  
[](https://daily.dev/posts/personal-roadmap-for-becoming-a-better-software-developer-in-2024-hakigcyoj "Personal Roadmap for becoming a better software developer in 2024")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Personal Roadmap for becoming a better software developer in 2024  
Suggestions to become a better software developer: focus on building a strong foundation, learn data structures and algorithms, improve communication and writing skills, solve problems on LeetCode and HackerRank, be active on LinkedIn, enhance frontend skills, create a new portfolio, invest in courses and books, prioritize consistency and discipline.  
168  
6
3. 3  
[](https://daily.dev/posts/10-weird-algorithms-dd08rsao4 "10 weird algorithms")  
Video  
![Avatar of fireship](https://media.daily.dev/image/upload/s--75ndqrkr--/f_auto,t_logo/v1702882094/logos/fireship.jpg)Fireship · 3y  
10 weird algorithms  
Explore 10 weird algorithms that are used to solve interesting real-world problems in science, gaming, machine learning, and digital security.  
146
4. 4  
[](https://daily.dev/posts/big-o-cheat-sheet-rfsux-f4j "Big-O Cheat Sheet")  
Article  
![Avatar of 30seconds](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/197d6538eea141d7a2fb4177234e9d89)30 seconds of code · 4y  
Big-O Cheat Sheet  
Big-O Cheat Sheet represents an algorithm's worst-case complexity. It uses algebraic terms to describe the complexity of an algorithm, allowing you to measure its efficiency and performance. Below you can find the best, average and worst time complexities for the most common array sorting algorithms.  
141  
8
5. 5  
[](https://daily.dev/posts/from-zero-to-hero-leetcode-litvid2io "From Zero to Hero: LeetCode")  
Article  
![Avatar of habr](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/habr)habr · 4y  
From Zero to Hero: LeetCode  
The post provides a breakdown of different levels of LeetCode problem-solving and offers tips for progressing to the next level. It emphasizes the importance of practice, studying algorithms and data structures, and improving communication skills for interviews.  
87  
9
6. 6  
[](https://daily.dev/posts/how-booking-com-searches-through-millions-of-locations-in-milliseconds-plt5efzvs "How Booking.com Searches Through Millions of Locations in Milliseconds")  
Article  
![Avatar of quastor](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/073e935e4893445ba562bf9e1ca38ec1)Quastor Daily · 3y  
How Booking.com Searches Through Millions of Locations in Milliseconds  
The data structure powering this map is a Quadtree, a tree data structure that’s used extensively for spatial indexing, image processing and more. For Quadtrees storing more than 300,000 markers, Booking achieves a p99 lookup time of less than 5.5 milliseconds. Pinterest uses Apache Druid for storing ad reporting metrics.  
84  
3
7. 7  
[](https://daily.dev/posts/20-essential-coding-patterns-to-ace-your-next-coding-interview-ahr1pcjed "20 Essential Coding Patterns to Ace Your Next Coding Interview")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
20 Essential Coding Patterns to Ace Your Next Coding Interview  
Learn about coding patterns that can enhance problem-solving skills and help ace coding interviews.  
77
8. 8  
[](https://daily.dev/posts/10-best-coding-and-programming-interview-books-in-2023-fdbxzbpc2 "10 Best Coding and Programming Interview Books in 2023")  
Article  
![Avatar of gc](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/gc)gitconnected · 3y  
10 Best Coding and Programming Interview Books in 2023  
10 Best Coding and Programming Interview Books in 2023\. In the past, I have hared some of the best online courses to prepare coding interviews. These books are enough to crack even the toughest of the job interviews at Amazon, or Microsoft. They provide excellent coverage of all essential topics for programming job interviews.  
74  
1
9. 9  
[](https://daily.dev/posts/unlocking-the-power-of-php-generators-8hvkkzm6a "Unlocking the Power of PHP Generators")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Unlocking the Power of PHP Generators  
PHP generators provide a way to iterate over large datasets or arrays without loading everything into memory. They work by processing one piece of data at a time using the 'yield' keyword. Generators can also receive input and return values. They are useful for memory management and handling large files.  
71  
2
10. 10  
[](https://daily.dev/posts/ep60-netflix-tech-stack---databases-f1o0z9fch "EP60: Netflix Tech Stack - Databases")  
Article  
![Avatar of bytebytego](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/35be29234ee14d01a9cd049c52e12753)ByteByteGo · 3y  
EP60: Netflix Tech Stack - Databases  
This week’s system design refresher: SQL Query Execution Order (Youtube video) Netflix Tech Stack - Databases The 10 Algorithms That Dominate Our World ‘Pull’ and ‘Push’ Payments ByteByteGo Talent Collective Retool is the fast way to build internal tools.  
69
11. 11  
[](https://daily.dev/posts/key-computer-science-concepts-every-software-engineer-should-know-and-how-to-learn-them-rnsf1cxqd "Key Computer Science Concepts Every Software Engineer Should Know – and How to Learn Them")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 3y  
Key Computer Science Concepts Every Software Engineer Should Know – and How to Learn Them  
The more fundamentals you know, the less you will struggle learning new things. There are 10 core subjects which, if you learn them, will give you a solid foundation. The book I recommend to learn programming is Structures and Interpretations of Computer Programs (SICP) The book is free and has a set of MIT lectures.  
60  
4
12. 12  
[](https://daily.dev/posts/three-simple-algorithms-with-javascript-we2wlcnyf "Three Simple Algorithms with JavaScript")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Three Simple Algorithms with JavaScript  
The article provides solutions to three simple algorithms in JavaScript, including reversing a string, reversing an integer, and capitalizing a string.  
44
13. 13  
[](https://daily.dev/posts/dynamic-programming-algorithms-every-programmer-should-know-9y4smgwcj "Dynamic Programming Algorithms Every Programmer Should Know")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Dynamic Programming Algorithms Every Programmer Should Know  
Dynamic programming is a popular technique in computer science and software engineering that allows for solving complex problems by breaking them down into smaller subproblems. This post explores various dynamic programming algorithms every programmer should know, including Fibonacci numbers, longest common subsequence, knapsack problem, edit distance, maximum subarray, coin change, matrix chain multiplication, longest increasing subsequence, traveling salesman problem, 0-1 integer programming, egg dropping problem, counting bits, perfect squares, partition equal subset sum, unique paths, unique paths II, and more.  
35  
3
14. 14  
[](https://daily.dev/posts/why-every-developer-should-learn-data-structures-and-algorithms-ocje5slb1 "Why Every Developer Should Learn Data Structures and Algorithms")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Why Every Developer Should Learn Data Structures and Algorithms  
Learn why every developer should learn data structures and algorithms, their benefits, and how they are related.  
26  
7
15. 15  
[](https://daily.dev/posts/machine-learning-fundamentals-handbook-key-concepts-algorithms-and-python-code-examples-nzgga4h79 "Machine Learning Fundamentals Handbook – Key Concepts, Algorithms, and Python Code Examples")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 3y  
Machine Learning Fundamentals Handbook – Key Concepts, Algorithms, and Python Code Examples  
This handbook provides an overview of machine learning fundamentals, key concepts, popular algorithms like XGBoost and AdaBoost, and techniques for feature selection.  
23
16. 16  
[](https://daily.dev/posts/top-5-php-best-practices-7vx3nocdl "Top 5 PHP Best Practices")  
Article  
![Avatar of colkgirl](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/82e21f28c59c499f9c47833c55500fd8)Code Like A Girl · 3y  
Top 5 PHP Best Practices  
The world craves PHP-based websites and applications, and why not since it has covered 80% of the web? Getting familiar with the PHP best practices below is the only way to succeed in the long haul. Maintaining proper documentation of your code documentation is the first and foremost practice to follow.  
24
17. 17  
[](https://daily.dev/posts/dynamic-programming-algorithms-every-programmer-should-know-9nlytfsrh "Dynamic Programming Algorithms Every Programmer Should Know")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Dynamic Programming Algorithms Every Programmer Should Know  
Dynamic programming is a technique that allows us to break down complex problems into smaller, more manageable subproblems. It involves solving subproblems only once and storing the results in memory for future use, instead of solving them repeatedly. This article explores essential dynamic programming algorithms like the Fibonacci sequence, the knapsack problem, and the longest common subsequence problem.  
24  
1
18. 18  
[](https://daily.dev/posts/learn-machine-leaning-without-libraries-or-frameworks-4rb8olq3k "Learn Machine Leaning without Libraries or Frameworks")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 3y  
Learn Machine Leaning without Libraries or Frameworks  
"No Black Box" Machine Learning Course in JavaScript offers a hands-on approach to understanding machine learning systems by coding from scratch. By delving into the inner workings of these algorithms, you'll gain valuable insights and experience that will help you become a more proficient developer.  
24  
1
19. 19  
[](https://daily.dev/posts/top-artificial-intelligence-ai-books-to-read-in-2023-fygksyi5w "Top Artificial Intelligence (AI) Books to Read in 2023")  
Article  
![Avatar of mlnews](https://media.daily.dev/image/upload/s--0PoEtdkd--/f_auto/v1750409401/squads/marktechpost?_a=BAMClqZW0)Machine Learning News · 4y  
Top Artificial Intelligence (AI) Books to Read in 2023  
The ability of a machine to reason, learn, and solve problems in the same ways that people do constitutes artificial intelligence. We’re learning more and more about how computers can mimic human thought processes and even complete jobs that were once thought too complex for machines to complete.  
24
20. 20  
[](https://daily.dev/posts/leetcode-956-hard-solution-of-the-day-tallest-billboard-swift-dp-o-n--pd9v9nncy "LeetCode 956 (Hard). Solution of the day. Tallest Billboard. Swift. DP. O(n)")  
Article  
![Avatar of habr](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/habr)habr · 3y  
LeetCode 956 (Hard). Solution of the day. Tallest Billboard. Swift. DP. O(n)  
The code uses dynamic programming to solve the problem. It maintains a dictionary dp, where the keys represent the possible height differences between the two billboards. The code iterates through each rod in the given input rods. For each rod i, it creates a new dictionary cur to store the updated values for dp.  
20
21. 21  
[](https://daily.dev/posts/a-cheat-sheet-to-deep-learning-algorithms-types-applications-and-examples--7lnmtsvn "A Cheat Sheet to Deep Learning Algorithms: Types, Applications, and Examples")  
Article  
![Avatar of tai](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/8b7e3e63e47b4d34b4c1e634b902c12f)Towards AI · 4y  
A Cheat Sheet to Deep Learning Algorithms: Types, Applications, and Examples  
Deep learning is a subset of machine learning that involves training artificial neural networks to perform tasks. There are three main types of deep learning algorithms: supervised, unsupervised, and semi-supervised. The right algorithm for a specific problem will depend on the characteristics of the data and the complexity of the task.  
19  
2
22. 22  
[](https://daily.dev/posts/a-look-at-the-fibonacci-sequence-a-recursive-and-iterative-solution-zpuawwqng "A Look At The Fibonacci Sequence: A Recursive and Iterative Solution")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
A Look At The Fibonacci Sequence: A Recursive and Iterative Solution  
The Fibonacci sequence is a sequence of numbers where each number is the sum of the two previous numbers. It was introduced by the Italian mathematician Fibonacci. The article explores both iterative and recursive solutions for the Fibonacci sequence in JavaScript.  
18
23. 23  
[](https://daily.dev/posts/the-math-you-need-to-know-as-a-solidity-developer-capil95cp "The Math You Need to Know as a Solidity Developer")  
Article  
![Avatar of coinsbench](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ba340d3c8caa4c2586911332928e24d9)Coins Bench · 3y  
The Math You Need to Know as a Solidity Developer  
The Math You Need to Know as a Solidity Developer will provide you with the knowledge you need to take your skills to the next level. In this article, we’ll dive deep into the role of math in cryptography and how it relates to Solidity.  
18
24. 24  
[](https://daily.dev/posts/chatgpt-for-data-science-interview-cheat-sheet-qefq3nzwf "ChatGPT for Data Science Interview Cheat Sheet")  
Article  
![Avatar of kdnuggets](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/kdnuggets)KDnuggets · 3y  
ChatGPT for Data Science Interview Cheat Sheet  
ChatGPT can help candidates understand and clarify complex concepts, algorithms, and methodologies commonly encountered in data science interviews. To help out, KDnuggets has put together a cheat sheet on the topic, ChatGPT for Data Science Interview Cheat Sheet.  
18
25. 25  
[](https://daily.dev/posts/the-difference-between-ai-and-machine-learning-mtiw5vryh "The Difference Between AI and Machine Learning")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 3y  
The Difference Between AI and Machine Learning  
Artificial Intelligence is a field which contains a lot of sub-fields, including Machine Learning. Machine Learning is not the same thing as Artificial Intelligence, but rather a part of it – like a cog amongst many cogs that makes up the machine which is Artificial Intelligence. I'll explain how Machine Learning fits into AI as a field.  
18  
1

[See all Algorithms archives](/tags/algorithms/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/algorithms/best-of/2023#page","url":"https://daily.dev/tags/algorithms/best-of/2023","name":"Best Algorithms Posts of 2023","description":"The most upvoted Algorithms posts of 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/algorithms/best-of/2023#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/learn-javascript-by-building-21-projects-a-major-freecodecamp-curriculum-update-lgzgghtqr","name":"Learn JavaScript by Building 21 Projects – a Major freeCodeCamp Curriculum Update"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/personal-roadmap-for-becoming-a-better-software-developer-in-2024-hakigcyoj","name":"Personal Roadmap for becoming a better software developer in 2024"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/10-weird-algorithms-dd08rsao4","name":"10 weird algorithms"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/big-o-cheat-sheet-rfsux-f4j","name":"Big-O Cheat Sheet"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/from-zero-to-hero-leetcode-litvid2io","name":"From Zero to Hero: LeetCode"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/how-booking-com-searches-through-millions-of-locations-in-milliseconds-plt5efzvs","name":"How Booking.com Searches Through Millions of Locations in Milliseconds"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/20-essential-coding-patterns-to-ace-your-next-coding-interview-ahr1pcjed","name":"20 Essential Coding Patterns to Ace Your Next Coding Interview"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/10-best-coding-and-programming-interview-books-in-2023-fdbxzbpc2","name":"10 Best Coding and Programming Interview Books in 2023"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/unlocking-the-power-of-php-generators-8hvkkzm6a","name":"Unlocking the Power of PHP Generators"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/ep60-netflix-tech-stack---databases-f1o0z9fch","name":"EP60: Netflix Tech Stack - Databases"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/key-computer-science-concepts-every-software-engineer-should-know-and-how-to-learn-them-rnsf1cxqd","name":"Key Computer Science Concepts Every Software Engineer Should Know – and How to Learn Them"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/three-simple-algorithms-with-javascript-we2wlcnyf","name":"Three Simple Algorithms with JavaScript"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/dynamic-programming-algorithms-every-programmer-should-know-9y4smgwcj","name":"Dynamic Programming Algorithms Every Programmer Should Know"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/why-every-developer-should-learn-data-structures-and-algorithms-ocje5slb1","name":"Why Every Developer Should Learn Data Structures and Algorithms"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/machine-learning-fundamentals-handbook-key-concepts-algorithms-and-python-code-examples-nzgga4h79","name":"Machine Learning Fundamentals Handbook – Key Concepts, Algorithms, and Python Code Examples"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/top-5-php-best-practices-7vx3nocdl","name":"Top 5 PHP Best Practices"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/dynamic-programming-algorithms-every-programmer-should-know-9nlytfsrh","name":"Dynamic Programming Algorithms Every Programmer Should Know"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/learn-machine-leaning-without-libraries-or-frameworks-4rb8olq3k","name":"Learn Machine Leaning without Libraries or Frameworks"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/top-artificial-intelligence-ai-books-to-read-in-2023-fygksyi5w","name":"Top Artificial Intelligence (AI) Books to Read in 2023"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/leetcode-956-hard-solution-of-the-day-tallest-billboard-swift-dp-o-n--pd9v9nncy","name":"LeetCode 956 (Hard). Solution of the day. Tallest Billboard. Swift. DP. O(n)"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/a-cheat-sheet-to-deep-learning-algorithms-types-applications-and-examples--7lnmtsvn","name":"A Cheat Sheet to Deep Learning Algorithms: Types, Applications, and Examples"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/a-look-at-the-fibonacci-sequence-a-recursive-and-iterative-solution-zpuawwqng","name":"A Look At The Fibonacci Sequence: A Recursive and Iterative Solution"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/the-math-you-need-to-know-as-a-solidity-developer-capil95cp","name":"The Math You Need to Know as a Solidity Developer"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/chatgpt-for-data-science-interview-cheat-sheet-qefq3nzwf","name":"ChatGPT for Data Science Interview Cheat Sheet"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/the-difference-between-ai-and-machine-learning-mtiw5vryh","name":"The Difference Between AI and Machine Learning"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"Algorithms","item":"https://daily.dev/tags/algorithms"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/algorithms/best-of"},{"@type":"ListItem","position":5,"name":"2023"}]}]}
```

