出版时间:2010-8 出版社:机械工业出版社 作者:Donald E.Knuth 页数:432 译者:黄林鹏
Tag标签:无
内容概要
本册揭开了计算机程序设计艺术目前最长一章的序幕,而论述组合算法的这章将包括完整的3卷。非正式地说,组合算法是对量非常大的对象,如alan或图元素,进行高速处理的技术。组合模式或排列技术可解决大量的现实问题,而处理这些问题的现代方法比起以前所采用的直接过程快上千倍。本册是后面章节的基础,这里首先讨论的是组合学的本质,接着介绍在计算机内部如何有效处理0和1的基本思想,包括布尔基础和布尔求值等内容。如常。为了强化作者的阐述,书中包括了大量细心组织、包括使用说明和详细解答的新的习题。
作者简介
作者:(美国)唐纳德 E.克努特(Donald E.Knuth) 译者:黄林鹏 等唐纳德 E.克努特,Donald E. Knuth,中文名高德纳。由于在算法和程序设计技术方面的先驱性工作,由于发明了计算机排版系统TEX和METAFONT。以及由于他的富于创造力的、影响深远的论著,Knuth名扬全球。作为斯坦福大学计算机程序设计艺术的荣誉退休教授,Knuth现在正投入全部的精力来完成这些分册以及包含这些分册的七卷著作。
书籍目录
PREFACE iii PREFACE TO VOLUME Chapter 7 Combinatorial Searching 7.1 Zeros and Ones 7.1.1 Boolean Basics 7.1.2 Boolean Evaluation Answers to Exercises Index and Glossary 译者序 前言 第4卷前言 第7章 组 合 搜 索 7.1 0和1 7.1.1 布尔基础 7.1.2 布尔求值 习题答案
章节摘录
插图:Aren't we missing the point if we merely shuffle such questions off to machines, to be solved by brute force instead of by rational thought? George Brewster, writing to Martin Gardner in 1963, expressed a widely held view as follows: “Feeding a recreational puzzle into a computer is no more than a step above dynamiting a trout stream. Succumbing to instant recreation.”Yes, but that view misses another important point: Simple puzzles often have generalizations that go beyond human ability and arouse our curiosity. The study of those generalizations often suggests instructive methods that apply to numerous other problems and have surprising consequences. Indeed, many of the key techniques that we shall study were born when people were trying to solve various puzzles. While writing this chapter, the author couldn't help relishing the fact that puzzles are now more fun than ever, as computers get faster and faster, because we keep getting more powerful dynamite to play with. Further comments appear in the author's essay, “Can toy problems be useful?”, originally written in 1976; see Selected Papers on Computer Science (1996), 169-183.Puzzles do have the danger that they can be too elegant. Good puzzles tend to be mathematically clean and well-structured, but we also need to learn how to deal systematically with the messy, chaotic, organic stuff that surrounds us every day. Indeed, some computational techniques are important chiefy because they provide powerful ways to cope with such complexities. That is why, for example, the arcane rules of library-card alphabetization were presented at the beginning of Chapter 5, and an actual elevator system was discussed at length to illustrate simulation techniques in Section 2.2.5.A collection of programs and data called the Stanford Graph Base (SGB) has been prepared so that experiments with combinatorial algorithms can readily be performed on a variety of real-world examples. SGB includes, for example, data about American highways, and an input-output model of the U.S. economy; it records the casts of characters in Homer's Iliad, Tolstoy's Anna Karenina, and several other novels; it encapsulates the structure of Roget's Thesaurus of 1879; it documents hundreds of college football scores; it specifies the gray-value pixels of Leonaxdo da Vinci's Gioconda (Mona Lisa). And perhaps most importantly, SGB contains a collection of five-letter words, which we shall discuss next. The five-letter words of English. Many of the examples in this chapter will be based on the following list of five-letter words: aargh, abaca, abaci, aback, abaft, abase, abash……zooms, zowie. (8)(There are 5757 words altogether——too many to display here; but those that are missing can readily be imagined.) It's a personal list, collected by the author between 1972 and 1992, beginning when he realized that such words would make ideal data for testing many kinds of combinatorial algorithms.
图书封面
图书标签Tags
无
评论、评分、阅读与下载