♡ Coding Demo ♡

About

Books

Elements

Grokking Algorithms

Introduction to Algorithms - CLRS

Languages

Notes

Links

♡ Listen to New York Jazz Lounge - Bar Jazz Masterpieces ♡♡♡ ♡ ♡♡♡

by Feroniba Ramin Hassani - GitHub -
Twitter - started on
C 21.3.2021 in Coswig (Anhalt), Germany

Best C Books of All Time - Extreme C - #9! ♥♡♥ -
Amazon $31.19 - Push the limits of what C - and you - can do, with this high-intensity guide to the most advanced capabilities of C!

Which is the best book on algorithms for beginners? - quora.com - Algorithms by Robert Sedgewick + Java - CLRS + Data Structure through C in Depth by S.K. Srivastav - Khan Academy -

Is CLRS a good book for beginners? - quora.com - no ... - Grokking Algorithms - Algorithm Design - edabit.com - yoreoyster.com - algoexpert.io - Algorithm Design by Jon Kleinberg and Éva Sardos - How to Think about Algorithms by Jeff Edmonds - The Algorithm Design Manual by Skiena, C examples - Algorithms Unlocked by Thomas Cormen (one author of CLRS) - Data Structures and Program Design , 1/1994
by Robert L. Kruse and Alexander J. Ryba - reader of any DSA books should be fairly comfortable with writing code, be comfortable with elementary Data-Structures such as Graphs, Trees and Lists, and should have some grasp over elementary concepts of discrete mathematics, and be familiar with basic probability involving Discrete Random Variables -

If CLRS is considered quite a hard book for beginners, what’s another great book you would recommend for beginners? - quora.com - Foundations of Algorithms, 5e by R. Neapolitan - ... - Tardos and Kleinberg is best book

33 Best Algorithms Books for Beginners - bookauthority.org

82 Data Structures and Algorithms - discuss.codechef.com

1 • Grokking Algorithms - Aditya Y. Bhargava - adit.io - 1e 2016 - 11ch 234p

2 • Algorithms Unlocked - Thomas H. Cormen - 1e 2013 - 10ch 212p

3 • How to Think About Algorithms - Jeff Edmonds - YouTube CSE 3101, 2011, 31 Lectures - 1e 2008 - 27ch 438p

4 • Introduction to the Design & Analysis of Algorithms - Anany Levitin - 3e 2012 - 12ch 546p

5 • Algorithm Design - Jon Kleinberg, Éva Sardos - 1e 2006 - 13ch 804p

6 • The Algorithm Design Manual - Steven S. Skiena - 3e 2020 - 21ch 712p

7 • Foundations of Algorithms - Richard E. Neapolitan - 5e 2015 - 12ch 766p

8 • Fundamentals of Computer Algorithms - Ellis Horowitz, Sartaj Sahni, Sanguthevar Rajasekaran - 1e 1998 - 15ch 760p

9 • Data Structures and Program Design in C++ - Robert L. Kruse and Alexander J. Ryba - 1e 2000 - 13ch 692p

10 • Introduction to Algorithms "CLRS" - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein - 3e 2009 - 35ch 1230p

11 • Algorithms in C - Robert Sedgewick - 3e 1998 (2006) - 16ch 692p

12 • Mastering Algorithms with C - Kyle Loudon - 1e 1999 - 17ch 691p

13 • Algorithms (in Java) - Robert Sedgewick, Kevin Wayne - 4e 2011 - 6ch 931p

14 • Algorithms in a Nutshell - George T. Heineman, Gary Pollice, Stanley Selkow - 2e 2016 - 12ch 366p

• first list of all elements: algorithm data_structure pseudocode sorting (selection heap bucket sequential binary merge hash-based) graphs trees queries probability approximation linked_lists

• \(\sum_{k=0}^{n}{k^2 = 0^2 + 1^2 + 2^2 + 3^2 = 14}\) if n = 3 (LaTeX inline mode) - Using the summation symbol - summation symbol (sigma) - never used by itself - bottom always index, here k=0, could also be 1 or -10 etc. - top symbol shows end of summation, here n - could also be 10 or infinity \(\infty\) etc. -

$$\sum_{k=0}^{n}{k^2 = 0^2 + 1^2 + 2^2 + 3^2 = 14}$$ if n = 3 (LaTeX display mode)

Example 2:
$$\sum_{n=0}^{4}{\frac{(-1)^n}{1+n} = \frac{(-1)^0}{1+0} + \frac{(-1)^1}{1+1} + \frac{(-1)^2}{1+2} + \frac{(-1)^3}{1+3} + \frac{(-1)^4}{1+4} = \frac{1}{1} + \frac{-1}{2} + \frac{1}{3} + \frac{-1}{4} + \frac{1}{5} = ... = \frac{47}{60}}$$

• \(\int^b_a f(x)\,dx\) (LaTeX inline mode) - Understanding Integral Notation - (LaTeX display mode:)
$$\int^b_a f(x)\,dx$$

Grokking Algorithms on Amazon, US $44.99 (including eBook) - by Aditya Y. Bhargava - adit.io - 1st edition, © 2016 by Manning Publications Co., all rights reserved - 11 chapters, 234 pages - Errata

contents

preface - 1 Introduction to algorithms - Binary search - Big O notation - Recap - 2 Selection sort - How memory works - Arrays and linked lists - Recap - 3 Recursion - Base case and recursive case - The stack - Recap - 4 Quicksort ... - 5 Hash tables ... - 6 Breadth-first search - 7 Dijkstra's algorithm ... - 8 Greedy algorithms ... - 9 Dynamic programming - The knapsack problem - Longest common substring - Recap - 10 K-nearest neighbors - ... - Introduction to machine learning - Recap - 11 Where to go next - Trees - Inverted indexes - The Fourier transform - Parallel algorithms - MapReduce - Bloom filters and HyperLogLog - The SHA algorithms - Locality-sensitive hashing - Diffie-Hellman key exchange - Linear programming - Epilogue - answers to exercises - index p235-238 - back cover

preface

xiii - started programming as a hobby - Visual Basic 6 for Dummies - first algorithm were impenetrable - with first good algorithms professor realized how simple and elegant these ideas were - as a visual
learner, written on functional programming, Git, machine learning, and concurrency - started out as a mediocre writer - easy to gloss over the hard stuff - coworker complained: still don't understand your writing - Maqnning asked to write illustrated book - aim: explain hard topics well, write easy-to-read algorithms book - acknowledgments to many, and to CLRS, Knuth, Strang - ...

about this book

xv - book easy to follow, avoids big leaps of thought (Gedankensprünge) - reinforced with exercises - author leads with examples, so recall is easier, visual, book full of images - not all, but practical algorithms, good foundation for more complex topics

Roadmap

ch1-11 ...

How to use this book

order of content carfully designed - feel free to jump ahead - still chapters build on each other - strongly recommend executing example codes, download from GitHub - do the exercises in this book, they are short, usually just a minute or two, sometimes 5 to 10, they will help you check your thinking, so you’ll know when you’re off track before you’ve gone too far

Who should read this book:

who knows basics of coding, wants to understand algorithms - • Hobbyist coders • Coding boot camp students • Computer science grads looking for a refresher • Physics/math/other grads who are interested in programming

Code conventions and downloads:

all codes in python 2.7, written in `fixed width font` with <kbd> (inline), or with `<pre>` (auto-new line):

fixed width fontand again auto-new line - code annotations accompany some of the listings, highlighting important concepts - you learn best when you really enjoy learning - so have fun, and run the code samples!

About the author: ...

Author online: ...

p1 - In this chapter • foundation for rest of book • write first search algorithm (binary search) • learn how to talk about running time of an algorithm (Big O notation) • you’re introduced to common technique for designing algorithms (recursion)

Introduction

algorithm is set of instructions to accomplish a task - every piece of code could be called algorithm ... - author chose only fast algorithms or/and those solving interesting problems for book - some highlights: ... - will always describe algorithm, give example, and running time in Big O notation, explore what other types of problems could be solved by same algorithm - implementation of every algorithm in this book probably available in favorite language - but must understand trade-offs (Austausch), for examplev use merge sort or quicksort, use array or list? Usind different data structures makes difference

What you’ll learn about solving problems

techniques out of grasp, like AI system following user - recommendations system k-nearest neighbours - NP-complete problems how to identify problems with algorithms with approximate answers - by end of book will know some of most used algorithms - then use new knowledge learn more specific algorithms for AI, databases etc. - or take bigger challenge at work

What you need to know

p3 - basic algebra - f(x)=x·2 - f(5)=10 - that is sufficient - know programming language, book uses Python, great for beginners - Ruby or other also fine

Binary search

If searching in phonebook name with K - start at beginning flipping pages - better start in middle - or word in dictionary with o - again start middle - or if Facebook searches - search problem, solved with binary search - input is sorted list - binary search returns position or null if no element -

p4 - guess number between 1-100 - counting 1 2 3 is a bad approach, simple search, maybe stupid search better approach - better start 50, if to low 75 etc., always half - that is binary search - 100 in max. 7 steps to only one remaining possibility: 100 50 25 13 7 4 2 1 - 240k 120k 60k 30k 15k 7.5k 3,750 1875 938 469 235 118 + 59 30 15 8 4 2 1 = 11 steps more than 7 = 18 steps -
p7 - any list of n will take log_{2} n steps in wost case - where simple search takes n steps, stupid s. random steps - Logarithms explained: ... - flip of exponentials - 10^{2}=100 ⟷ log_{10}100=2 --- 10^{3}=1000 ⟷ log_{10}1000=3 --- 2^{3}=8 ⟷ log_{2}8=3 etc. ...
- in book running time in Big O notation, log always means log_{2}

p8 - binary search only if list is in sorted order, names alphabetic etc. - what happens if not? -

Vocabulary

curate - ... - xv

gloss over - beschönigen, bemänteln, glossieren, glanzpressen - xiii

grok - begreifen, kapieren, schnallen ... - xiii

impenetrable - undurchdringbar, undurchdringlich, unzugänglich ... - xiii

leaps of thought - Gedankensprünge - xv

lest - damit nicht, dass nicht - xviii

mediocre writer - mittelmäßig, zweitklassig, niveaulos, unbedeutend - xiii

reinforce - verstärken, bekräftigen ... - xv

assumption - Annahme, Vermutung, Unterstellung ... - xv

savor - verkosten, genießen, etw. auf der Zunge vergehen lassen ... - xiii

trade-off - Ausgleich, Abstrich, Austausch ... - p2

xiii - algorithms before computers were there - each ch presents an algorithm ... - presented in English and pseudocode - book 244 figures how alg works - analysis of running times - ... book suitable for self-study - ...

To the teacher

...

To the student

xiv - ... - prerequisites: • some programming experience - recursive procedures - simple data structures such as arrays andlinked lists • facility with mathematical proofs, especially proofs
by mathematical induction - elementary calculus - beyond that, Parts I and VIII of this book teach you all the mathematical techniques you will need - solutions for some exercises -

...

```
#include <stdio.h>
```

int main(void) {

printf("hello, world\n");

return 0;

}

... more coming soon ...

p... - ... coming soon ♡ ♥ ♡ ...

p...-... - ...

Next steps:

Raspberry Pi - Arduino - Linux analysis - build our own operating system, language, servers, network, AT SS - build L community international, online forum, political party with laws assuring peace and happiness for everyone ♡ ♥ ♡

End of book :-))) ♡ ♥ ♡

Binary Assembly C Bash Java Python JavaScript Perl Forth Tcl HTML CSS CoffeeScript CoffeeCup ...

(read bottom to top)

• starting machine learning and deep learning - AI

• starting with algorithms and math - R (read) and workout best books

• switching from OSX Macbook to Linux Ubuntu and Kali

• ...

• leaving LR (learning) Python for LR C

• LR (learning) HTML CSS JS to build own websites like this one

• Ubuntu version 20.10 - upgrade to 21.04 - itsfoss.com - after version is not beta but stable - Updated: Ubuntu 21.04 Release Date & New Features - omgubuntu.co.uk

• Additional installations: Atom ...

Machines for world knowledge 300 Exabytes, ship SH and spaceship SS - Computers should do what humans want them to do - input output - keyboard pad touchscreen cam mic controller etc. - based binary - ASM and C needed - terminal - IN HTML CSS JS WASM - Arduino Rapberry PI etc. - Linux - games animation sounddesign graficdesign - art FP MP WR - O MG

Chrome: Ctrl F5 > reload tab

Session 1 • Thu 2021-3-18 Coswig (Anhalt) 23:15-3:40 WR cfo.html - start ♡♡♡