Discussion
Ask a question about 'Algorithms + Data Structures = Programs'
Start a new discussion about 'Algorithms + Data Structures = Programs'
Answer questions from other users
|
Algorithms + Data Structures = Programs
is a 1976 book written by
Niklaus WirthNiklaus Emil Wirth is a Swiss computer scientist, best known for designing several programming languages, including Pascal, and for pioneering several classic topics in software engineering. In 1984 he won the Turing Award for developing a sequence of innovative computer languages.-Biography:Wirth...
covering some of the fundamental topics of
computer programmingComputer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...
, particularly that
algorithmIn mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...
s and
data structureIn computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently.Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks...
s are inherently related. For example, if one has a sorted list one will use a
search algorithmIn computer science, a search algorithm is an algorithm for finding an item with specified properties among a collection of items. The items may be stored individually as records in a database; or may be elements of a search space defined by a mathematical formula or procedure, such as the roots...
optimal for sorted lists.
The book was one of the most influential computer science books of the time and, like Wirth's other work, extensively used in education .
The
Turbo PascalTurbo Pascal is a software development system that includes a compiler and an integrated development environment for the Pascal programming language running on CP/M, CP/M-86, and DOS, developed by Borland under Philippe Kahn's leadership...
compiler written by
Anders HejlsbergAnders Hejlsberg is a prominent Danish software engineer who co-designed several popular and commercially successful programming languages and development tools...
was largely inspired by the "Tiny Pascal" compiler in Niklaus Wirth's book.
Chapter outline
- Chapter 1 - Fundamental Data Structures
- Chapter 2 - Sorting
In computer science, a sorting algorithm is an algorithm that puts elements of a list in a certain order. The most-used orders are numerical order and lexicographical order...
- Chapter 3 - Recursive
Recursion is the process of repeating items in a self-similar way. For instance, when the surfaces of two mirrors are exactly parallel with each other the nested images that occur are a form of infinite recursion. The term has a variety of meanings specific to a variety of disciplines ranging from...
Algorithms
- Chapter 4 - Dynamic Information Structures
- Chapter 5 - Language Structures and Compilers
- Appendix A - the ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...
character set
- Appendix B - Pascal
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...
syntax diagrams
External links