Автор: Andy Wickler
Издательство: Independently published
Год: 2021
Страниц: 203
Язык: английский
Формат: pdf , epub
Размер: 10.2 MB
Are you interested in furthering your knowledge of algorithms ? Do you want to learn how they work for real-world problems ? Then you've come to the right place. This guide will walk you through algorithm design before digging into some of the top design techniques.
Algorithms are sequences of steps used to help solve specific problems that perform some kind of calculation, some data processing, and even automated reasoning. They are used in computer science, data science, and information technology and are one of the most efficient methods that can be expressed in finite space and time. They are often the best way of efficiently representing a specific problem's solution, and they can be implemented in any programming language - they are independent of any specific language, so, while we have used the C++ language for our examples, the algorithms can be implemented in any language you desire.
Algorithm design is important, but the most critical aspect is creating the right algorithm to solve a problem efficiently using minimum space and time. There are a lot of different approaches to solving problems, some efficient in terms of time consumption, others more efficient in terms of memory. It isn't possible to create an algorithm that optimizes memory use and time consumption at the same time. If your algorithm needs to be more time-efficient, it will require more memory while, if an algorithm needs to be more memory efficient, it needs more time to run.
You are undoubtedly familiar with the many algorithms used in the real world today, including graphs, sort, and search algorithms. Perhaps the best-known and the most used are the search and sort algorithms, and these are definitely the best place to start as you begin your journey into the design of algorithms in data structures. An example of one of the most sophisticated search algorithm designs is the Google Search Engine Algorithm. Used by Google, it ranks every web page in its search results based on relevancy. Over the years, the methods we use to find data have changed significantly. Another example of a popular algorithm, especially with social media users, is the hashtag algorithm. Hash tagging has one of the most complicated learning curves, but it is fair to say that hashing is incredibly fast at searching through massive lists containing millions of items. That's just a couple of algorithms where design is an important factor. If you are looking to advance your knowledge or want a career as a software engineer, learning algorithm design in data structures is one of the best starting places.
This guide is designed for those who already have a basic understanding and knowledge of mathematics and programming. You should understand data structures and basic algorithms as this book will dive deeper into design theory and some of the more complex algorithms.
Here's what you will learn:
- The steps involved in designing an algorithm
- The top algorithm design techniques
- The Divide and Conquer algorithm
- The Greedy Algorithm
- Dynamic Programming
- The Branch and Bound Algorithm
- The Randomized Algorithm
- Recursion and backtracking
And everything that goes with them.
Included are plenty of algorithm designs and code implementations to show you how it all works.
So, if you are ready to learn everything you need to know about design algorithms, download this book now !
Скачать Algorithms: Design Algorithms to Solve Common Problems