HNHacker News
TopNewBestAskShowJobs

throwingawaymat

13 karma · joined August 2, 2018

submissionscomments
throwingawaymat··on Multigenerational LRU: more performant, versatile, straightforward than Linux's
A more engaging summary of the article: Google engineer proposes changes in caching algorithm based on observations from "millions of servers and clients", arguing for improved performance both on low-end (phone) and high-end (hundreds of gigabytes of ram) devices.
throwingawaymat··on Problem Solving with Algorithms and Data Structures [pdf]
I like the careful review of python at the start.

The "stories" in the writing seem good. If you want to learn by reading somebody explain how to solve a problem, I think this is a good text for you.

I don't think there are enough exercises... with a title of "problem solving..." I was expecting more focus on (challenging?) problems in the exercises. If you want to learn by thinking about how to solve problems, this is not the text for you.

I could not find a comparison of the orders of various operations on ADT's. I thought I would find something like that in Chapter 3. I think that omission makes it hard to understand the big picture.

Details seem raw:

* The table on page 9 shows the Pythonic not equals operator is `=!`.

* 2.7 Programming Exercise 4 should really be specifying linear _in what parameter(s)_ for clarity. The operation is O(nk) presumably. Exercise 5 assumes that n = len(data) from Exercise 4. The claim that O(n log(n)) < O(n k) depends on k and n, but that isn't clearly stated.

* 3.14 Programming Exercise 7: this exercise has in mind only one particular solution. Does not a double ended queue have O(1) enqueue and dequeue?