zbMATH — the first resource for mathematics

Examples
Geometry Search for the term Geometry in any field. Queries are case-independent.
Funct* Wildcard queries are specified by * (e.g. functions, functorial, etc.). Otherwise the search is exact.
"Topological group" Phrases (multi-words) should be set in "straight quotation marks".
au: Bourbaki & ti: Algebra Search for author and title. The and-operator & is default and can be omitted.
Chebyshev | Tschebyscheff The or-operator | allows to search for Chebyshev or Tschebyscheff.
"Quasi* map*" py: 1989 The resulting documents have publication year 1989.
so: Eur* J* Mat* Soc* cc: 14 Search for publications in a particular source with a Mathematics Subject Classification code (cc) in 14.
"Partial diff* eq*" ! elliptic The not-operator ! eliminates all results containing the word elliptic.
dt: b & au: Hilbert The document type is set to books; alternatively: j for journal articles, a for book articles.
py: 2000-2015 cc: (94A | 11T) Number ranges are accepted. Terms can be grouped within (parentheses).
la: chinese Find documents in a given language. ISO 639-1 language codes can also be used.

Operators
a & b logic and
a | b logic or
!ab logic not
abc* right wildcard
"ab c" phrase
(ab c) parentheses
Fields
any anywhere an internal document identifier
au author, editor ai internal author identifier
ti title la language
so source ab review, abstract
py publication year rv reviewer
cc MSC code ut uncontrolled term
dt document type (j: journal article; b: book; a: book article)
The art of computer programming. Vol. 1: Fundamental algorithms. (English) Zbl 0191.17903
Addison-Wesley Series in Computer Science and Information Processing. London: Addison-Wesley Publishing Company. XXII, 634 p. (1968).

Dies ist der erste Band eines geplanten 7-bändigen Werkes über die “Kunst des Programmierens”: I Fundamental Algorithms: 1. Basic concepts, 2. Information Structures, II Seminumerical Algorithms: 3. Random Numbers, 4. Arithmetic, III Sorting and Searching: 5.Sorting Techniques, 6.Searching Techniques, IV Combinatorial Algorithms: 7. Combinatorial Searching, 8. Recursion, V Syntactic Algorithms: 9. Lexical Scanning, 10. Parsing Techniques, VI Theory of Languages: 11. Mathematical Linguistics, VII Compilers: 12. Programming Language Translation.

Es ist gedacht sowohl als Nachschlagewerk als auch als Lehrbuch für Vorlesungen oder zum Selbststudium. Deshalb sind in den Text eine Vielzahl von Übungen, meist mit Lösungen, eingefügt. Die Monographie richtet sich keineswegs nur an Programmierungsexperten. Es ist im Gegenteil das erklärte Ziel des Verfassers, Programmierungstechniken denen zugänglich zu machen, die auf anderen Gebieten arbeiten und mit Erfolg Digitalrechner für ihre Probleme benutzen könnten. Gewisse Vorkenntnisse werden jedoch benötigt. Nach Meinung des Verfassers ist als Leser geeignet, wer “mindestens vier Programme für mindestens einen Digitalrechner geschrieben und getestet hat”. Den Gegenstand des Buches bezeichnet der Verfasser als “Analysis der Algorithmen”, worunter er die Theorie der Eigenschaften von speziellen Computeralgorithmen versteht. Dabei liegt sein Hauptaugenmerk auf der sogenannten nichtnumerischen Analysis, also der Entwicklung von “software” für Automaten, von Methoden für das Sortieren, für Sprachübersetzungen, für die Lösung abstrakter mathematischer Probleme und für das Beweisen mathematischer Sätze mit Hilfe von Rechenmaschinen. Der vorliegende erste Band ist die gemeinsame Grundlage der folgenden, als weitgehend voneinander unabhängig geplanten Bände. Das erste Kapitel enthält zunächst mathematische Grundlagen: Nach einer Einführung des Begriffs “Algorithmus” und der Beweismethode der vollständigen Induktion werden im einzelnen behandelt: Zahlen, Potenzen, Logarithmen, Summen und Produkte, elementare Zahlentheorie, Permutationen, Fakultät, Binomialkoeffizienten, harmonische Zahlen (Partialsummen der harmonischen Reihe), Fibonaccische Zahlen, erzeugende Funktionen G(z)= n=0 a n z n für eine gegebene Folge von Zahlen a 0 ,a 1 ,..., asymptotische Darstellungen, Eulersche Summenformeln. Ferner wird die maschinenorientierte Programmiersprache MIXAL für den hypothetischen Automaten MIX 1009, eine “Mixture” von 16 realen Rechenautomaten, eingeführt und an zahlreichen Übungsbeispielen erläutert. Schließlich werden grundlegende Programmiertechniken (subroutines, coroutines, interpretive routines) behandelt und ein in MIXAL geschriebener MIX-Simulator beschrieben, der die praktische Erprobung von MIXAL-Programmen auf konkreten Rechenanlagen ermöglichen soll.

Das zweite Kapitel ist Datenstrukturen gewidmet. Es behandelt lineare Datenlisten (stapel/stacks), Schlangen (queues) und “Deques” (double-ended-queues) und ihre Speicherung in Maschinen sowie das Arbeiten mit Bäumen. Welche Bedeutung den Übungsaufgaben in diesem Buch beigemessen wird, erkennt man daraus, dass die Lösungen (mit Angabe des Lösungsweges bzw. Beweisganges) 140 Seiten einnehmen. Der Anhang enthält ein Verzeichnis der verwendeten Bezeichnungen sowie Tabellen von wichtigen Konstanten (dezimal und oktal) und der harmonischen, Bernoullischen und Fibonaccischen Zahlen. Hervorzuheben ist schließlich der ausführliche Index (17 Seiten), der die Eignung des Buches als Nachschlagewerk unterstreicht.

Reviewer: Gerhard Maeß

MSC:
68-02Research monographs (computer science)
68NxxSoftware