Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #402850
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: AVL tree insertion - programming exercise |
| Date | 2026-10-09 12:38 +0000 |
| Organization | PANIX Public Access Internet and UNIX, NYC |
| Message-ID | <11aan7c$ki0$1@reader2.panix.com> (permalink) |
| References | <86ece2kppv.fsf@linuxsc.com> <11aa8vb$jk93$1@dont-email.me> <11aaggn$mu6q$1@dont-email.me> <11aaimc$n0f0$2@dont-email.me> |
In article <11aaimc$n0f0$2@dont-email.me>, David Brown <david.brown@hesbynett.no> wrote: >On 09/10/2026 12:43, bart wrote: >> [snip] >> This 'MIX' language was something that astonished me even then. Not only >> was it assembly that would totally obscure whatever algorithm was being >> expressed, but it was a weird made-up assembly with unusual byte and >> word sizes. > >Indeed. When I first saw it, I was familiar with several 8-bit >assemblies (6502, Z80, 8085) and some 32-bit ARM assembly, and had read >books on the 68000 family and MIPS. MIX was, to me, absurd. To be >fair, the computer world was not nearly as consolidated in 1962, but I'm >sure it looked fairly odd even by the standards of the time. If one were coming from the world of early 1960s mainframes, it would perhaps be less astonishing. >> I understand that more recent editions use an updated 'MMIX' language: >> now the registers are 64 bits, and there's a lot more of them. This is >> still like publishing a book of algorithms using ARM64 assembly to >> express them. > >Yes, this strikes me as even more absurd. It's just re-doing the >previous mistake in a slightly less bad way. Unfortunately, he is quite adamant about this. He truly believes that the best way to understand how an algorithm works on a computer is to see it at the instruction level. >> It's not clear what he had against HLLs; perhaps he thought an actual >> HLL would soon be superseded? Then pseudo-code should have been used. > >Real HLL's were around at the time - FORTRAN and ALGOL, or possibly >LISP, would have been appropriate choices in the days before small >letters were invented. Or he could have made a simple HLL pseudo-code >for the purpose - things like unlimited sized integers and unlimited >memory sizes would have made sense. The criticism of TAOCP is valid. It is not a book for workaday programmers; it is an academic reference. The real value is in the mathematical treatment and historical/bibliographic notes, not the presentation of code in assembler. Other books exist that are better references for most people; certainly for most programmers: * "Introduction to Algorithms" by Cormen, Leiserson, Rivest, and Stein is a standard. * Sedgewick's books in C, simply titled, "Algorithms" are pretty good, though his code style is slightly idiosyncratic. Now in its 4th Edition, he has switched to Java and taken on a coauthor (Kevin Wayne). * "Algorithms", by Dasgupta, Papadimitriou, and Vazirani is a wonderful book that, I think, strikes a nice balance between formality and utility. * I am rather partial to Skiena's work, "The Algorithm Design Manual." * "Data Structures and Their Algorithms" by Lewis and Denenberg is a bit dated, but very accessible; examples are presented in a Pascal-like pseudocode. * "Data Structures and Algorithms" by Aho, Hopcroft, and Ullman is a nice book. Be careful not to confuse it with Aho and Ullman's, "The Design and Analysis of Computer Algorithms", however; the latter is far denser and intended for academics studying the fundamental properties of algorithms. * "Algorithms + Data Structures = Programs" and the later revision, "Algorithms & Data Structures", by Wirth, are similarly dated, but still very nice. * "Purely Functional Data Structures", by Okasaki; I include this just because I think that it is fun. Of course, more specialized texts exist for specific problem domains, programming paradigms, etc; books on string algorithms, mutual exclusion protocols for concurrent programs, etc, are all available, though not general. Did Knuth err using MIX and then MMIX for TAOCP? Perhaps; I do think that neither Fortran nor Lisp would have been appropriate choices; Algol perhaps. Other authors around that time or slightly later either adopt a more mathematics-inspired pseudonotation (Dijkstra; Hoare) algolish pseudo-code (Aho et al), or a language of their own design (Wirth). Knuth is a wonderful object of study, but I do not recommend it. - Dan C.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
AVL tree insertion - programming exercise Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-06 23:08 -0700
Re: AVL tree insertion - programming exercise fir <profesor.fir@gmail.com> - 2026-10-07 15:25 +0200
Re: AVL tree insertion - programming exercise Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-07 12:13 -0700
Re: AVL tree insertion - programming exercise fir <profesor.fir@gmail.com> - 2026-10-07 21:28 +0200
Re: AVL tree insertion - programming exercise Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-08 05:31 -0700
Re: AVL tree insertion - programming exercise fir <profesor.fir@gmail.com> - 2026-10-09 11:12 +0200
Re: AVL tree insertion - programming exercise fir <profesor.fir@gmail.com> - 2026-10-09 11:12 +0200
Re: AVL tree insertion - programming exercise BGB <cr88192@gmail.com> - 2026-10-07 20:10 -0500
Re: AVL tree insertion - programming exercise Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-08 05:56 -0700
Re: AVL tree insertion - programming exercise BGB <cr88192@gmail.com> - 2026-10-08 15:09 -0500
Re: AVL tree insertion - programming exercise fir <profesor.fir@gmail.com> - 2026-10-08 22:56 +0200
Re: AVL tree insertion - programming exercise BGB <cr88192@gmail.com> - 2026-10-08 17:29 -0500
Re: AVL tree insertion - programming exercise fir <profesor.fir@gmail.com> - 2026-10-09 09:56 +0200
Re: AVL tree insertion - programming exercise Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-09 01:39 +0200
Re: AVL tree insertion - programming exercise Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-09 00:03 -0700
Re: AVL tree insertion - programming exercise Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-08 23:53 -0700
Re: AVL tree insertion - programming exercise David Brown <david.brown@hesbynett.no> - 2026-10-09 10:34 +0200
Re: AVL tree insertion - programming exercise Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-09 12:27 +0200
Re: AVL tree insertion - programming exercise David Brown <david.brown@hesbynett.no> - 2026-10-09 12:59 +0200
Re: AVL tree insertion - programming exercise bart <bc@freeuk.com> - 2026-10-09 11:43 +0100
Re: AVL tree insertion - programming exercise David Brown <david.brown@hesbynett.no> - 2026-10-09 13:20 +0200
Re: AVL tree insertion - programming exercise cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-09 12:38 +0000
Re: AVL tree insertion - programming exercise David Brown <david.brown@hesbynett.no> - 2026-10-09 16:05 +0200
Re: AVL tree insertion - programming exercise Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-09 17:54 +0200
Re: AVL tree insertion - programming exercise Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-10 10:38 +0800
Re: AVL tree insertion - programming exercise ram@zedat.fu-berlin.de (Stefan Ram) - 2026-10-10 03:12 +0000
Re: AVL tree insertion - programming exercise Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-10 04:44 +0000
Re: AVL tree insertion - programming exercise "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-10 14:12 -0700
Re: AVL tree insertion - programming exercise cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-09 19:48 +0000
Re: AVL tree insertion - programming exercise scott@slp53.sl.home (Scott Lurndal) - 2026-10-09 23:18 +0000
Re: AVL tree insertion - programming exercise David Brown <david.brown@hesbynett.no> - 2026-10-10 15:27 +0200
Re: AVL tree insertion - programming exercise Michael S <already5chosen@yahoo.com> - 2026-10-09 17:47 +0300
Re: AVL tree insertion - programming exercise cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-09 16:48 +0000
Re: AVL tree insertion - programming exercise Michael S <already5chosen@yahoo.com> - 2026-10-10 19:08 +0300
Re: AVL tree insertion - programming exercise David Brown <david.brown@hesbynett.no> - 2026-10-10 18:29 +0200
Re: AVL tree insertion - programming exercise cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-10 17:44 +0000
Re: AVL tree insertion - programming exercise David Brown <david.brown@hesbynett.no> - 2026-10-10 23:22 +0200
Re: AVL tree insertion - programming exercise cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-10 17:43 +0000
Re: AVL tree insertion - programming exercise Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 20:35 +0200
Re: AVL tree insertion - programming exercise cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-10 19:36 +0000
Re: AVL tree insertion - programming exercise Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 22:08 +0200
Re: AVL tree insertion - programming exercise Michael S <already5chosen@yahoo.com> - 2026-10-10 23:21 +0300
Re: AVL tree insertion - programming exercise cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-10 20:55 +0000
Re: AVL tree insertion - programming exercise scott@slp53.sl.home (Scott Lurndal) - 2026-10-10 20:22 +0000
Re: AVL tree insertion - programming exercise Michael S <already5chosen@yahoo.com> - 2026-10-10 23:32 +0300
Re: AVL tree insertion - programming exercise scott@slp53.sl.home (Scott Lurndal) - 2026-10-11 15:24 +0000
Re: AVL tree insertion - programming exercise Bonita Montero <Bonita.Montero@gmail.com> - 2026-10-10 19:40 +0200
Re: AVL tree insertion - programming exercise Andrey Tarasevich <noone@noone.net> - 2026-10-10 12:39 -0700
Re: AVL tree insertion - programming exercise Michael S <already5chosen@yahoo.com> - 2026-10-10 23:00 +0300
Re: AVL tree insertion - programming exercise Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 22:28 +0200
Re: AVL tree insertion - programming exercise Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-10 19:02 -0700
csiph-web