knuth

How many people actually read "The Art Of Computer Programming" books?

"TAOCP book is one of the must-reading CS books." I read such a statement so many times but I never see person who read and study over the book. Maybe the book itself makes our job more secure(^^). Have you ever read the book? ...

C for loop implemented differently than other languages?

I read the following in a review of Knuth's "The Art of Computer Programming": "The very 'practicality' means that the would-be CS major has to learn Kernighan's mistakes in designing C, notably the infamous fact that a for loop evaluates the for condition repeatedly, which duplicates while and fails to match the behavior of most other ...

Best preparation material for TAOCP?

There are apparently a lot of people who don't finish reading TAOCP. One thing I've consistently noted in people's responses is being unable to handle all of the math in the series. What books or other materials do people recommend reading/understanding prior to TAOCP to make it more digestible? Assume the reader already has a good under...

Where can I find the graph of TeX's error log?

In Donald Knuth's Literate Programming, there was if I remember correctly a graph showing the evolution of TeX's number of bugs over time. This graph has remained flat for the past decade or so, suggesting that TeX might now be bug-free. I would like to use this graph to illustrate the importance of bug-tracking software. Is it download...

Art of Computer programming notation question

I'm just starting to read TAOCP Volume 1 and I'm having trouble understanding the style. Knuth mentions a computational method to be a quadruple (Q,I, Omega, f) -- but I am having trouble understanding what each of these is intended to be. I understand his first example, but don't understand his second I'm looking at page 8 of the thi...

The Art of Computer Programming exercise question: Chapter 1, Question 8

I'm doing the exercises to TAOCP Volume 1 Edition 3 and have trouble understanding the syntax used in the answer to the following exercise. Chapter 1 Exercise 8 Computing the greatest common divisor of positive integers m & n by specifying Tj,sj,aj,bj Let your input be represented by the string ambn (m a's followed by n b's) Answer: ...

What are the enduring properties of a book on algorithms?

I will soon start writing a book on a certain subset of algorithms. Many people, including myself, praise The Art of Computer Programming to the top of their lungs, believing these volumes are a work of art in mathematics and computer science. However, I can't put my finger on what it is that makes TAOCP mythically great, mostly when com...

The Art of Computer Programming, Vol 4, Fascicle 2 typo?

At the bottom of page 5 is the phrase "changes k to k (1j+1)2". Isn't 1 to any power still 1 even in binary? I'm thinking this must be a typo. I sent an email to Dr. Knuth to report this, but I don't expect to hear back for months. In the meantime, I'm trying to figure out what this is supposed to be. ...

Computing (a*b) mod c quickly for c=2^N +-1

In 32 bit integer math, basic math operations of add and multiply are computed implicitly mod 2^32, meaning your results will be the lowest order bits of the add or multiply. If you want to compute the result with a different modulus, you certainly could use any number of BigInt classes in different languages. And for values a,b,c < 2^3...

How does division work in MIX?

Can someone explain to me how division in MIX (from TAOCP by Knuth) works on a byte-to-byte basis? rA = |-| . . . .0| rX = |+|1235|0|3|1| The memory location 1000 contains |-|0|0|0|2|0|. When you execute the operation DIV 1000 the registers become rA = |+|0|617|?|?| rX = |-|0|0|0|?|1| Now I understand the signs on rA and rX...

Unable to combine English words from letters by Ruby

I need to find all English words which can be formed from the letters in a string sentence="Ziegler's Giant Bar" I can make an array of letters by sentence.split(//) How can I make more than 4500 English words from the sentence in Ruby? [edit] It may be best to split the problem into parts: to make only an array of words with...

Are the Donald Knuth books worth buying

As an EE turned software engineer I missed on on the computer science basics. Are the Donald Knuth "The Art of Computer Programming" books worth buying as a reference for filling in the gaps? Or as a reference in general? ...

What's the best way to read code in CWEB format in Windows?

Donald Knuth has a large number of programs to read on his page. But they are mostly in a "strange" CWEB format... What could be the best way to make them appropriately readable in Windows? ...

Advice on how to approach The Art of Computer Programming?

Any advice on how to appoach The Art of Computer Programming Vol 1? I currently have Volume 1 with me. Should I go through the Math part fully before getting in to the Data Structures part? ...

"Concrete Mathematics" companion text? (Knuth light IOW)

I'm interested in learning more of the math behind computer science, partly so I can dip into Knuth's TAOCP without my head spinning too much. I've tried going through Concrete Mathematics but it's a little too much for me unfortunately. Are there books out there below this one but well above Math for Dummies? I own discrete math book...

Verify Knuth shuffle algorithm is as unbiased as possible

I'm implementing a Knuth shuffle for a C++ project I'm working on. I'm trying to get the most unbiased results from my shuffle (and I'm not an expert on (pseudo)random number generation). I just want to make sure this is the most unbiased shuffle implementation. draw_t is a byte type (typedef'd to unsigned char). items is the count of i...

How does the "Man Or Boy" Knuth test work?

Can anyone explain how the Man Or Boy Test returns a value of -67? I tried in vain to write down the result, or trace it with a debugger. Any help would be appreciated. A list of different implementations can be found here. ...

Which version of Art of Computer Programming should I read and when?

I want to read Art of Computer Programming by Donald Knuth for various personal and professional reasons. So when I walk into the book store I see a couple volumes a couple versions and a whole bunch of Fascicles/sub volumes. eventually these Fascicles should be a concise volume and then further editions and versions will ensue. If I wil...

Knuth Permutation Algorithm Weird behaviour

Hi All, I have attached a code which gives weird outputs basing on cout statements. This program essentially computes the Knuth's Permutations. Input is say: run1 The code runs for first pass fine: Call trace will be: r un1 ur n1 nur 1 1nur n1ur nu1r nur1 After this run of code, the call returns correctly to step where urn...

Help fix my KMP search algorithm.

Hello I am trying to write a C# version of KMP search from Algorithms in C book. Having trouble finding the flaw in my algorithm. Would someone help? static int KMP(string p, string str) { int m = p.Length; int n = str.Length; int i; int j; int[] next = new int[m]; next[0] = -1; for (i = 0, j = -1; i < m; i...