This book introduces you to the world of data structures and algorithms. Data structure defines the way data is arranged in computer memory for fast and efficient access while algorithm is a set of instruction to solve problems by manipulating these data structures.
Designing an efficient algorithm is a very important skill that all computer companies e.g. Microsoft, Google, Facebook etc. pursue. Most of the interview for these companies is focused on knowledge of data structure and algorithm. They look for how candidate use these to solve complex problem efficiently, which is also very important in everyday coding. Apart from knowing, a programming language you also need to have good command on these key Computer fundamentals to not only qualify the interview but also excel in the top high paying jobs.
This book assumes that you are a Go language developer. You are not an expert in Go language, but you are well familiar with concepts of class, references, functions, list, tuple, dictionary and recursion. At the start of this book, we will be revising Go language fundamentals that will be used throughout this book. We will be looking into some of the problems in Lists and recursion too.
Then in the coming chapter we will be looking into Complexity Analysis. Followed by the various data structures and their algorithms. We will be looking into a Linked-List, Stack, Queue, Trees, Heap, Hash-Table and Graphs. We will also be looking into Sorting, Searching techniques.
We will be looking into algorithm analysis of various algorithm techniques. Such as, Brute-Force algorithms, Greedy algorithms, Divide and Conquer algorithms, Dynamic Programming, Reduction and Backtracking.
In the end, we will be looking into System Design that will give a systematic approach to solve the design problems.
Если вам понравилась эта книга поделитесь ею с друзьями, тем самым вы помогаете нам развиваться и добавлять всё больше интересных и нужным вам книг! |
---|