While causally browsing I noted the following in the 8-queens backtracking example:
"The following recursive algorithm, essentially due to Gauss (who called it “methodical groping”), ..."
Hilarious, especially given the current situation. I'd like to know what his original German term was.
Gauss indeed wrote "methodisches tatonniren"[1], the latter of which is not a common German word, nor does it suggest grouping. I believe it to be an expression used at the time which was borrowed from French "tâtonner", which means "fumble", to describe a step-by-step process, "approaching" a solution. The closest I get in modern German is "herantasten", which in turn does not have an elegant English translation; you will have to take its elements "heran" (onto) and "tasten" (touch/feel/grope) individually to judge how close it is to fumble.
So, methodical groping is not as far off as you might have thought!
[1] https://books.google.com/books?id=3jEDAAAAQAAJ&pg=RA1-PA106&... This may be a typo—the regular verb form would be "tatonnieren"—then again a lot of German spelling has changed since the time of those letters.
The meaning is "feel your way"---proceed carefully and at every step feel what is around you, as if you were walking on complete darkness.
this would be a fitting translation of the german word "herantasten", which has nothing to do with groping btw
Given a directed graph with on each arc a maximum flow and a cost per unit of flow, how to find the least cost flows for a given total flow? That is linear programming. The simplex algorithm takes on a special form, and a simplex basic solution corresponds to a spanning tree. A simplex pivot is adding an arc to the tree to yield a circuit, and getting the cost of sending a unit of flow around the circuit evaluates that new arc. Etc.
W. Cunningham defined a strongly feasible basic solution which avoids cycling.
IIRC, D. Bertsekas has a good (polynomial) algorithm for that problem.
I didn't see such mentioned in your table of contents.
On my 14" screen, your PDF files would be much easier to read if the maximum number of characters per line was about 50.
I personally used it in an observable collection library, where I needed efficient indexed insert and the ability to compute the index of a node.
Also, this: http://jeffe.cs.illinois.edu/teaching/pikachu.html
"Algorithm design manual" is another my favorite.
I never find CLRS appealing to read other than being used as a textbook in a formal class.
https://www.google.com/search?q=Algorithms+Jeff+Erickson+sit...
I found it trivially at
I know people like to debate the merits of "thee algorithm book" be it CLRS or Desgupta etc. but I find that having many such books is extremely beneficial - occasionally one author will articulate a particular insight that will resonate for me in such a way that makes me believe I maybe hadn't completely internalized that thing before, despite having read similar content from other sources on many occasions and believing I had.
Anyway this looks like a great such addition to my personal canon. Thanks for sharing!
As a kindle user I'd love to see a kindle edition.
Says on the title page: Creative Commons!
"Attribution-NonCommercial-ShareAlike 4.0 International"