Sign up
Forgot password?
FAQ: Login

Amidi Afshine, Amidi Shervine Super Study Guide: Algorithms & Data Structures

  • pdf file
  • size 5,04 MB
Amidi Afshine, Amidi Shervine Super Study Guide: Algorithms & Data Structures
Independently published, 2024. — 139 p. — ISBN: 979-8413681985.
A concise, illustrated guide to algorithms and data structures, perfect for coding interviews, classes, or self-study. Covers key concepts, from fundamentals to graphs, trees, sorting, and search techniques.
This book is a concise and illustrated guide for anyone who wants to brush up on their fundamentals in the context of coding interviews, computer science classes or to satisfy their curiosity.
It is divided into 4 parts:
Foundations: main types of algorithms and related mathematical concepts.
Data structures: arrays, strings, queues, stacks, hash tables, linked lists, and associated theorems and tricks.
Graphs and trees: graph concepts and graph traversal algorithms along with important types of trees.
Sorting and search: common, efficient sorting and search algorithms.
Book overview
This 150-page book aims to be on your desk at all times to refresh your memory on key Computer Science concepts.
It contains 400+ intuitive and colored illustrations along with practical examples to deeply understand each concept.
The parts below show a glimpse of what this book has to offer.
Fundamentals of Algorithms and Data Structures
Use cases.
Technical interviews.
Computer Science classes and exams.
Own curiosity.
Stack data structure.
Fundamentals of Algorithms and Data Structures.
Algorithms
Types of algorithms: brute-force, backtracking, divide and conquer, dynamic programming.
Different kinds of complexity (time, space), along with orders of magnitude in practical use cases.
Mathematical concepts in combinatorics, analysis, and bit manipulation.
Classic problems: traveling salesman problem (TSP), knapsack, N-Queens, coin change.
Data structures
Arrays and strings: definition, theorems (e.g. Kadane's algorithm), and tricks (merge intervals, longest substring).
Stacks and queues: definition and practical use case (daily temperature problem).
Hash tables: load factor, collision resolution, bloom filter, count-min sketch.
Linked lists: definition, operations, and tricks (tortoise and hare algorithm, LRU cache).
Breadth-first search.
Graphs and trees
Graphs
Basic traversal algorithms such as Breadth-First Search (BFS) and Depth-First Search (DFS).
Shortest path algorithms: Dijkstra's, A*, Bellman-Ford, Floyd-Warshall.
Spanning trees: Prim's algorithm, Kruskal's algorithm, Kosaraju's algorithm.
Trees
Binary trees: definition and tricks (lowest common ancestor, balanced tree).
Heaps: heapify, bubble up/down, and applications (k smallest elements).
Binary search trees (BST), N-ary trees, and prefix trees (trie).
Self-balancing trees, rotations, red-black trees, range query, binary index tree, segment tree.
Sorting algorithm.
Sorting and search
Sorting algorithms
Basic: bubble sort, insertion sort, selection sort, and cycle sort.
Efficient: merge sort, heap sort, and quick sort.
Special: counting sort and radix sort.
Searching algorithms
Basic: linear search, two-pointer technique, trapping water problem.
Binary: definition and applications such as median of two sorted arrays.
Substring search: string pattern matching, KMP algorithm, Rabin-Karp algorithm.
  • Sign up or login using form at top of the page to download this file.
  • Sign up
Up