初等算法(算法新解)0.6180339887498949 🔍
it-ebooks iBooker it-ebooks, it-ebooks-2017, 2017
英语 [en] · 中文 [zh] · PDF · 3.2MB · 2017 · 📘 非小说类图书 · 🚀/lgli/lgrs/nexusstc/zlib · Save
描述
Chapter One PART I. IN THE CLASSROOM PURPOSE 1. Helping the student . One of the most important tasks of the teacher is to help his students. This task is not quite easy; it demands time, practice, devotion, and sound principles. The student should acquire as much experience of independent work as possible. But if he is left alone with his problem without any help or with insufficient help, he may make no progress at all. If the teacher helps too much, nothing is left to the student. The teacher should help, but not too much and not too little, so that the student shall have a reasonable share of the work . If the student is not able to do much, the teacher should leave him at least some illusion of independent work. In order to do so, the teacher should help the student discreetly, unobtrusively . The best is, however, to help the student naturally. The teacher should put himself in the student's place, he should see the student's case, he should try to understand what is going on in the student's mind, and ask a question or indicate a step that could have occurred to the student himself . 2. Questions, recommendations, mental operations. Trying to help the student effectively but unobtrusively and naturally, the teacher is led to ask the same questions and to indicate the same steps again and again. Thus, in countless problems, we have to ask the question: What is the unknown? We may vary the words, and ask the same thing in many different ways: What is required? What do you want to find? What are you supposed to seek? The aim of these questions is to focus the student's attention upon the unknown. Sometimes, we obtain the same effect more naturally with a suggestion: Look at the unknown! Question and suggestion aim at the same effect; they tend to provoke the same mental operation. It seemed to the author that it might be worth while to collect and to group questions and suggestions which are typically helpful in discussing problems with students. The list we study contains questions and suggestions of this sort, carefully chosen and arranged; they are equally useful to the problem-solver who works by himself. If the reader is sufficiently acquainted with the list and can see, behind the suggestion, the action suggested, he may realize that the list enumerates, indirectly, mental operations typically useful for the solution of problems . These operations are listed in the order in which they are most likely to occur. 3. Generality is an important characteristic of the questions and suggestions contained in our list. Take the questions: What is the unknown? What are the data? What is the condition? These questions are generally applicable, we can ask them with good effect dealing with all sorts of problems. Their use is not restricted to any subject-matter. Our problem may be algebraic or geometric, mathematical or nonmathematical, theoretical or practical, a serious problem or a mere puzzle; it makes no difference, the questions make sense and might help us to solve the problem. There is a restriction , in fact, but it has nothing to do with the subject-matter. Certain questions and suggestions of the list are applicable to "problems to find" only, not to "problems to prove." If we have a problem of the latter kind we must use different questions; see PROBLEMS TO FIND, PROBLEMS TO PROVE. 4. Common sense. The questions and suggestions of our list are general, but, except for their generality, they are natural, simple, obvious, and proceed from plain common sense. Take the suggestion: Look at the unknown! And try to think of a familiar problem having the same or a similar unknown. This suggestion advises you to do what you would do anyhow, without any advice, if you were seriously concerned with your problem. Are you hungry? You wish to obtain food and you think of familiar ways of obtaining food. Have you a problem of geometric construction? You wish to construct a triangle and you think of familiar ways of constructing a triangle. Have you a problem of any kind? You wish to find a certain unknown, and you think of familiar ways of finding such an unknown, or some similar unknown. If you do so you follow exactly the suggestion we quoted from our list. And you are on the right track, too; the suggestion is a good one, it suggests to you a procedure which is very frequently successful. All the questions and suggestions of our list are natural, simple, obvious, just plain common sense; but they state plain common sense in general terms. They suggest a certain conduct which comes naturally to any person who is seriously concerned with his problem and has some common sense. But the person who behaves the right way usually does not care to express his behavior in clear words and, possibly, he cannot express it so; our list tries to express it so. 5. Teacher and student. Imitation and practice. There are two aims which the teacher may have in view when addressing to his students a question or a suggestion of the list: First, to help the student to solve the problem at hand. Second, to develop the student's ability so that he may solve future problems by himself. Experience shows that the questions and suggestions of our list, appropriately used, very frequently help the student. They have two common characteristics, common sense and generality; As they proceed from plain common sense they very often come naturally; they could have occurred to the student himself. As they are general, they help unobtrusively; they just indicate a general direction and leave plenty for the student to do. But the two aims we mentioned before are closely connected; if the student succeeds in solving the problem at hand, he adds a little to his ability to solve problems. Then, we should not forget that our questions are general, applicable in many cases. If the same question is repeatedly helpful, the student will scarcely fail to notice it and he will be induced to ask the question by himself in a similar situation. Asking the question repeatedly, he may succeed once in eliciting the right idea. By such a success, he discovers the right way of using the question, and then he has really assimilated it. The student may absorb a few questions of our list so well that he is finally able to put to himself the right question in the right moment and to perform the corresponding mental operation naturally and vigorously. Such a student has certainly derived the greatest possible profit from our list. What can the teacher do in order to obtain this best possible result? Solving problems is a practical skill like, let us say, swimming. We acquire any practical skill by imitation and practice. Trying to swim, you imitate what other people do with their hands and feet to keep their heads above water, and, finally, you learn to swim by practicing swimming. Trying to solve problems, you have to observe and to imitate what other people do when solving problems and, finally, you learn to do problems by doing them. The teacher who wishes to develop his students' ability to do problems must instill some interest for problems into their minds and give them plenty of opportunity for imitation and practice. If the teacher wishes to develop in his students the mental operations which correspond to the questions and suggestions of our list, he puts these questions and suggestions to the students as often as he can do so naturally. Moreover, when the teacher solves a problem before the class, he should dramatize his ideas a little and he should put to himself the same questions which he uses when helping the students. Thanks to such guidance, the student will eventually discover the right use of these questions and suggestions, and doing so he will acquire something that is more important than the knowledge of any particular mathematical fact. MAIN DIVISIONS, MAIN QUESTIONS 6. Four phases. Trying to find the solution, we may repeatedly change our point of view, our way of looking at the problem. We have to shift our position again and again. Our conception of the problem is likely to be rather incomplete when we start the work; our outlook is different when we have made some progress; it is again different when we have almost obtained the solution. In order to group conveniently the questions and suggestions of our list, we shall distinguish four phases of the work. First, we have to understand the problem; we have to see clearly what is required. Second, we have to see how the various items are connected, how the unknown is linked to the data, in order to obtain the idea of the solution, to make a plan . Third, we carry out our plan. Fourth, we look back at the completed solution, we review and discuss it. Each of these phases has its importance. It may happen that a student hits upon an exceptionally bright idea and jumping all preparations blurts out with the solution. Such lucky ideas, of course, are most desirable, but something very undesirable and unfortunate may result if the student leaves out any of the four phases without having a good idea. The worst may happen if the student embarks upon computations or constructions without having understood the problem. It is generally useless to carry out details without having seen the main connection, or having made a sort of plan . Many mistakes can be avoided if, carrying out his plan, the student checks each step . Some of the best effects may be lost if the student fails to reexamine and to reconsider the completed solution. 7. Understanding the problem. It is foolish to answer a question that you do not understand. It is sad to work for an end that you do not desire. Such foolish and sad things often happen, in and out of school, but the teacher should try to prevent them from happening in his class. The student should understand the problem. But he should not only understand it, he should also desire its solution. If the student is lacking in understanding or in interest, it is not always his fault; the problem should be well chosen, not too difficult and not too easy, natural and interesting, and some time should be allowed for natural and interesting presentation. First of all, the verbal statement of the problem must be understood. The teacher can check this, up to a certain extent; he asks the student to repeat the statement, and the student should be able to state the problem fluently. The student should also be able to point out the principal parts of the problem, the unknown, the data, the condition. Hence, the teacher can seldom afford to miss the questions: What is the unknown? What are the data? What is the condition? The student should consider the principal parts of the problem attentively, repeatedly, and from various sides. If there is a figure connected with the problem he should draw a figure and point out on it the unknown and the data. If it is necessary to give names to these objects he should introduce suitable notation ; devoting some attention to the appropriate choice of signs, he is obliged to consider the objects for which the signs have to be chosen. There is another question which may be useful in this preparatory stage provided that we do not expect a definitive answer but just a provisional answer, a guess: Is it possible to satisfy the condition? (In the exposition of Part II [p. 33] "Understanding the problem" is subdivided into two stages: "Getting acquainted" and "Working for better understanding.") 8. Example . Let us illustrate some of the points explained in the foregoing section. We take the following simple problem: Find the diagonal of a rectangular parallelepiped of which the length, the width, and the height are known. In order to discuss this problem profitably, the students must be familiar with the theorem of Pythagoras, and with some of its applications in plane geometry, but they may have very little systematic knowledge in solid geometry. The teacher may rely here upon the student's unsophisticated familiarity with spatial relations. The teacher can make the problem interesting by making it concrete. The classroom is a rectangular parallelepiped whose dimensions could be measured, and can be estimated; the students have to find, to "measure indirectly," the diagonal of the classroom. The teacher points out the length, the width, and the height of the classroom, indicates the diagonal with a gesture, and enlivens his figure, drawn on the blackboard, by referring repeatedly to the classroom. The dialogue between the teacher and the students may start as follows: "What is the unknown?" "The length of the diagonal of a parallelepiped." "What are the data?" "The length, the width, and the height of the parallelepiped." "Introduce suitable notation. Which letter should denote the unknown?" "x." "Which letters would you choose for the length, the width, and the height?" "a, b, c." "What is the condition , linking a, b, c , and x?" "x is the diagonal of the parallelepiped of which a, b , and c are the length, the width, and the height." "Is it a reasonable problem? I mean, is the condition sufficient to determine the unknown? " "Yes, it is. If we know a, b, c , we know the parallelepiped. If the parallelepiped is determined, the diagonal is determined." 9. Devising a plan. We have a plan when we know, or know at least in outline, which calculations, computations, or constructions we have to perform in order to obtain the unknown. The way from understanding the problem to conceiving a plan may be long and tortuous. In fact, the main achievement in the solution of a problem is to conceive the idea of a plan. This idea may emerge gradually. Or, after apparently unsuccessful trials and a period of hesitation, it may occur suddenly, in a flash, as a "bright idea." The best that the teacher can do for the student is to procure for him, by unobtrusive help, a bright idea. The questions and suggestions we are going to discuss tend to provoke such an idea. In order to be able to see the student's position, the teacher should think of his own experience, of his difficulties and successes in solving problems. We know, of course, that it is hard to have a good idea if we have little knowledge of the subject, and impossible to have it if we have no knowledge. Good ideas are based on past experience and formerly acquired knowledge. Mere remembering is not enough for a good idea, but we cannot have any good idea without recollecting some pertinent facts; materials alone are not enough for constructing a house but we cannot construct a house without collecting the necessary materials. The materials necessary for solving a mathematical problem are certain relevant items of our formerly acquired mathematical knowledge, as formerly solved problems, or formerly proved theorems. Thus, it is often appropriate to start the work with the question: Do you know a related problem? The difficulty is that there are usually too many problems which are somewhat related to our present problem, that is, have some point in common with it. How can we choose the one, or the few, which are really useful? There is a suggestion that puts our finger on an essential common point: Look at the unknown! And try to think of a familiar problem having the same or a similar unknown. If we succeed in recalling a formerly solved problem which is closely related to our present problem, we are lucky. We should try to deserve such luck; we may deserve it by exploiting it. Here is a problem related to yours and solved before. Could you use it? (Continues...)
Excerpted from How to Solve It by G. POLYA Copyright © 1985 by Princeton University Press. Excerpted by permission of Princeton University Press. All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.
备用文件名
lgrsnf/初等算法(算法新解)0.6180339887498949.pdf
备用文件名
zlib/Mathematics/刘新宇/初等算法(算法新解)_11919123.pdf
备选标题
Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)
备选标题
The Implementation of Functional Programming Languages (Prentice-hall International Series in Computer Science)
备选标题
Art of Computer Programming, The, Volumes 1-3 Boxed Set (2nd Edition) (The Art of Computer Programming Series)
备选标题
Algorithms on Strings, Trees, and Sequences : Computer Science and Computational Biology
备选标题
How to Solve It: A New Aspect of Mathematical Method (Princeton Science Library, 85)
备选标题
How to Solve It: A New Aspect of Mathematical Method (Princeton Science Library, 34)
备选标题
Modern C [plus plus] design: generic programming and design patterns applied
备选标题
Modern C++ Design: Applied Generic and Design Patterns (C++ in Depth)
备选标题
Art of Computer Programming, The : Volume 3: Sorting and Searching
备选标题
Structure and Interpretation of Computer Programs, second edition
备选标题
The Art of Computer Programming: Volume 3: Sorting and Searching
备选标题
The art of computer programming / 1, Fundamental algorithms
备选标题
Structure and Interpretation of Computer Programs (SICP)
备选标题
The Art of Computer Programming, Volumes 1-3 Boxed Set
备选标题
Сортировка и поиск: Т. 3
备选作者
Simon L. Peyton Jones; with chapters by Philip Wadler, Peter Hancock, David Turner
备选作者
Andrei Alexandrescu; Safari, an O'Reilly Media Company
备选作者
Harold Abelson, Gerald Jay Sussman, Julie Sussman
备选作者
Harold Abelson; Julie Sussman; Gerald Jay Sussman
备选作者
G. Polya; with a new foreword by John H. Conway
备选作者
Debbie Lafferty, Alexandrescu, Andrei
备选作者
Abelson, Harold, Sussman, Gerald Jay
备选作者
Debbie Lafferty; Andrei Alexandrescu
备选作者
Donald E. Knuth, Donald Knuth
备选作者
Jones, Simon L. Peyton
备选作者
[by] Donald E. Knuth
备选作者
Donald Ervin Knuth
备选作者
Bjarne Stroustrup
备选作者
Knuth, Donald E.
备选作者
Gusfield, Dan
备选作者
George Pólya
备选作者
Dan Gusfield
备选作者
Polya, G.
备选作者
刘新宇
备用出版商
MIT Press Ltd; M I T Press; MIT Press Ltd; M I T Press; McGraw-Hill Higher Education
备用出版商
Princeton University, Department of Art & Archaeology
备用出版商
Cambridge University Press (Virtual Publishing)
备用出版商
Globe Fearon Educational Publishing
备用出版商
Addison-Wesley Professional
备用出版商
Prentice/Hill International
备用出版商
Prentice-Hall International
备用出版商
Prentice Hall International
备用出版商
Da Capo Press, Incorporated
备用出版商
Princeton University Press
备用出版商
Addison-Wesley Pub. Co.
备用出版商
Longman Publishing
备用出版商
Hachette Books
备用出版商
The MIT Press
备用出版商
Cengage Gale
备用出版商
Basic Books
备用出版商
AAAI Press
备用版本
Addison-Wesley series in computer science and information processing, / Donald E. Knuth ; Vol. 1, 3. ed, Reading, Mass, 1997
备用版本
Addison Wesley series in computer science and information processing, 2. ed., 19./20. print, Reading, Mass, 2005
备用版本
Princeton science library, Expanded Princeton Science Library ed., Princeton, New Jersey, New Jersey, 2004
备用版本
Addison-Wesley series in computer science and information processing, Reading, Mass, Massachusetts, 1973
备用版本
MIT electrical engineering and computer science, Second edition, Cambridge, Mass., New York, ©1996
备用版本
Prentice-Hall international series in computer science, 1. [Dr, Englewood Cliffs, NJ [u.a, 1987
备用版本
MIT Electrical Engineering and Computer Science Ser, Place of publication not identified, 1996
备用版本
Princeton science library, Expanded Princeton Science Library ed, Princeton [N.J, 2004, ©1985
备用版本
Electrical engineering and computer science series, 2. ed., 12. print, Cambridge, Mass, 2005
备用版本
MIT Electrical Engineering and Computer Science, Second Edition, S. l, July 25th 1996
备用版本
Expanded Princeton science library ed., Princeton, New Jersey, United States, 2004
备用版本
C [plus plus] in depth series, Boston, MA, London, United States, 2001
备用版本
Princeton Science Li, Princeton Science Library, US, 2015
备用版本
Princeton science library, 2nd ed, Princeton, NJ, 1957
备用版本
Cambridge University Press, Cambridge [England], 1997
备用版本
Princeton University Press, Princeton, N.J., 2004
备用版本
Cambridge [England], New York, England, 1997
备用版本
EBL-Schweitzer, Online-ausg, Cambridge, 1997
备用版本
Reprinted (with corr.), Cambridge [u.a, 1999
备用版本
3rd ed., Reading, Mass, Massachusetts, 1997
备用版本
United Kingdom and Ireland, United Kingdom
备用版本
Pearson Education (US), Boston, MA, 2001
备用版本
United States, United States of America
备用版本
Englewood Cliffs, NJ, New Jersey, 1987
备用版本
2nd ed, Reading Mass. ; Harlow, ©1998
备用版本
Pearson Education (US), [N.p.], 1998
备用版本
New Ed edition, April 5, 2004
备用版本
Reading, Mass, ©1997-<2022>
备用版本
Second Edition, PS, 1998
备用版本
2nd ed., England, 1998
备用版本
3rd Edition, PS, 1998
备用版本
2nd Edition, US, 1996
备用版本
2. изд., Russia, 2000
备用版本
February 13, 2001
备用版本
Harlow, 2000-2002
备用版本
October 5, 1998
备用版本
1, PS, 1997
备用版本
1, PS, 2001
元数据中的注释
lg2974834
元数据中的注释
{"isbns":["013453333X","0201485419","0201704315","0201896850","0262510871","0521585198","069111966X","9780134533339","9780201485417","9780201704310","9780201896855","9780262510875","9780521585194","9780691119663"],"publisher":"iBooker it-ebooks","series":"it-ebooks-2017"}
元数据中的注释
Includes bibliographical references (p. 505-523) and index.
元数据中的注释
Includes bibliographical references.
元数据中的注释
Vol. 3 published as 2nd ed.
Includes indexes.
元数据中的注释
Includes bibliographical references and index.
元数据中的注释
Previous ed.: 1968.
The 2nd ed. of vol. 3 is part of the same printing as the 3rd ed. of vols. 1 and 2.
Includes bibliographic references and indexes.
元数据中的注释
Bibliography: p. 311-312. - Includes index.
元数据中的注释
Includes bibliographies and index.
元数据中的注释
РГБ
元数据中的注释
Russian State Library [rgb] MARC:
=001 000672216
=003 RuMoRGB
=005 20001124120000.0
=008 001016s2000\\\\ru\||||\\\\\\\|00\u\rus\d
=017 \\ $a 00-41823 $b РКП
=020 \\ $a 5-8459-0082-4 (рус.)
=020 \\ $a 0-201-89685-0 (англ.)
=035 \\ $a (RuMoRGB)KNO-0123932
=040 \\ $a RuMoRGB $b rus $c RuMoRGB
=041 0\ $a rus
=084 \\ $a З973.2-018я22 $2 rubbk
=245 00 $a Сортировка и поиск $n Т. 3
=250 \\ $a 2. изд.
=260 \\ $c 2000
=300 \\ $a 822 с. $b ил., табл.
=773 18 $7 p1am $g Т. 3 $a Кнут, Дональд Эрвин $t Искусство программирования / Дональд Э. Кнут; Под общ. ред. Ю. В. Козаченко $d М. [ др.] : Вильямс, 2000-____ $h 24 см $k (Классический труд) $w 000848411
=852 \\ $a РГБ $b FB $j 12 00-3/253-9 $x 90
=852 \\ $a РГБ $b FB $j 12 00-3/254-7 $x 90
备用描述
<p>This multivolume work is widely recognized as the definitive description of classical computer science. The first three volumes have for decades been an invaluable resource in programming theory and practice for students, researchers, and practitioners alike.<p>The bible of all fundamental algorithms and the work that taught many of today&rsquo;s software developers most of what they know about computer programming.<p>&ndash;Byte, September 1995<p>Countless readers have spoken about the profound personal influence of Knuth&rsquo;s work. Scientists have marveled at the beauty and elegance of his analysis, while ordinary programmers have successfully applied his &ldquo;cookbook&rdquo; solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books.<p>I can&rsquo;t begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home&hellip; and even at a Little League game when my son wasn&rsquo;t in the line-up.<p>&ndash;Charles Long<p>Primarily written as a reference, some people have nevertheless found it possible and interesting to read each volume from beginning to end. A programmer in China even compared the experience to reading a poem.<p>If you think you&rsquo;re a really good programmer&hellip; read [Knuth&rsquo;s] Art of Computer Programming&hellip; You should definitely send me a r&eacute;sum&eacute; if you can read the whole thing.<p>&ndash;Bill Gates<p>Whatever your background, if you need to do any serious computer programming, you will find your own good reason to make each volume in this series a readily accessible part of your scholarly or professional library.<p>It&rsquo;s always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers.<p>&ndash;Jonathan Laventhol<p>For the first time in more than 20 years, Knuth has revised all three books to reflect more recent developments in the field. His revisions focus specifically on those areas where knowledge has converged since publication of the last editions, on problems that have been solved, on problems that have changed. In keeping with the authoritative character of these books, all historical information about previous work in the field has been updated where necessary. Consistent with the author&rsquo;s reputation for painstaking perfection, the rare technical errors in his work, discovered by perceptive and demanding readers, have all been corrected. Hundreds of new exercises have been added to raise new challenges.<p></p> <h3>Booknews</h3> <p>This last volume in a set of three surveys classical computer techniques for sorting and searching, considering both large and small databases and internal and external memories. Recently updated to reflect new developments in the field, the volume also contains several hundred new exercises. This new edition of Volume Three is described as matching Volume One (3rd edition) covering fundamental algorithms and Volume Two (3rd edition) treating seminumerical algorithms. Annotation c. by Book News, Inc., Portland, Or.</p>
备用描述
<p><b>Modern C++ Design</b> <i>is an important book. Fundamentally, it demonstrates ‘generic patterns’ or ‘pattern templates’ as a powerful new way of creating extensible designs in C++–a new way to combine templates and patterns that you may never have dreamt was possible, but is. If your work involves C++ design and coding, you should read this book. Highly recommended.</i><br>
–Herb Sutter</p>
<p><i>What’s left to say about C++ that hasn’t already been said? Plenty, it turns out.</i><br>
–From the Foreword by John Vlissides</p>
<p>In <b><i>Modern C++ Design</i>,</b> Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and programming virtuosity, Alexandrescu offers a cutting-edge approach to design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code.</p>
<p>This book introduces the concept of generic components–reusable design templates that produce boilerplate code for compiler consumption–all within C++. Generic components enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding.</p>
<p>The author describes the specific C++ techniques and features that are used in building generic components and goes on to implement industrial strength generic components for real-world applications. Recurring issues that C++ developers face in their day-to-day activity are discussed in depth and implemented in a generic way. These include:</p>
<ul>
<li>Policy-based design for flexibility</li>
<li>Partial template specialization</li>
<li>Typelists–powerful type manipulation structures</li>
<li>Patterns such as Visitor, Singleton, Command, and Factories</li>
<li>Multi-method engines</li>
</ul>
<p>For each generic component, the book presents the fundamental problems and design options, and finally implements a generic solution.</p>
<p>In addition, an accompanying Web site, <i>http://www.awl.com/cseng/titles/0-201-70431-5</i>, makes the code implementations available for the generic components in the book and provides a free, downloadable C++ library, called Loki, created by the author. Loki provides out-of-the-box functionality for virtually any C++ project.</p>
<p>Get a value-added service! Try out all the examples from this book at www.codesaw.com. CodeSaw is a free online learning tool that allows you to experiment with live code from your book right in your browser.</p>
<p>0201704315B11102003</p>
备用描述
<p><p>A perennial bestseller by eminent mathematician G. Polya, </i>How to Solve It</i> will show anyone in any field how to think straight.<p>In lucid and appealing prose, Polya reveals how the mathematical method of demonstrating a proof or finding an unknown can be of help in attacking any problem that can be reasoned out--from building a bridge to winning a game of anagrams. Generations of readers have relished Polya's deft--indeed, brilliant--instructions on stripping away irrelevancies and going straight to the heart of the problem.<p>In this best-selling classic, George P&oacute;lya revealed how the mathematical method of demonstrating a proof or finding an unknown can be of help in attacking any problem that can be reasoned out--from building a bridge to winning a game of anagrams. Generations of readers have relished P&oacute;lya's deft instructions on stripping away irrelevancies and going straight to the heart of a problem. </i>How to Solve It</i> popularized heuristics, the art and science of discovery and invention. It has been in print continuously since 1945 and has been translated into twenty-three different languages.<p>P&oacute;lya was one of the most influential mathematicians of the twentieth century. He made important contributions to a great variety of mathematical research&#58; from complex analysis to mathematical physics, number theory, probability, geometry, astronomy, and combinatorics. He was also an extraordinary teacher--he taught until he was ninety--and maintained a strong interest in pedagogical matters throughout his long career. In addition to </i>How to Solve It</i>, he published a two-volume work on the topic of problem solving, </i>Mathematics of Plausible Reasoning</i>, also with Princeton.<p>P&oacute;lya is one of the most frequently quoted mathematicians, and the following statements from </i>How to Solve It</i> make clear why&#58; My method to overcome a difficulty is to go around it. Geometry is the science of correct reasoning on incorrect figures. In order to solve this differential equation you look at it till a solution occurs to you.<p></p> <h3>E. T. Bell - Mathematical Monthly</h3> <p>Every prospective teacher should read it. In particular, graduate students will find it invaluable. The traditional mathematics professor who reads a paper before one of the Mathematical Societies might also learn something from the book&#58; 'He writes a, he says b, he means c; but it should be d.'</p>
备用描述
Publisher Description (unedited Publisher Data) String Algorithms Are A Traditional Area Of Study In Computer Science. In Recent Years Their Importance Has Grown Dramatically With The Huge Increase Of Electronically Stored Text And Of Molecular Sequence Data (dna Or Protein Sequences) Produced By Various Genome Projects. This Book Is A General Text On Computer Algorithms For String Processing. In Addition To Pure Computer Science, The Book Contains Extensive Discussions On Biological Problems That Are Cast As String Problems, And On Methods Developed To Solve Them. It Emphasises The Fundamental Ideas And Techniques Central To Today's Applications. New Approaches To This Complex Material Simplify Methods That Up To Now Have Been For The Specialist Alone. With Over 400 Exercises To Reinforce The Material And Develop Additional Topics, The Book Is Suitable As A Text For Graduate Or Advanced Undergraduate Students In Computer Science, Computational Biology, Or Bio-informatics. Its Discussion Of Current Algorithms And Techniques Also Makes It A Reference For Professionals. Library Of Congress Subject Headings For This Publication: Computer Algorithms, Bioinformatics, Molecular Biology Data Processing. Exact Matching: Fundamental Preprocessing And First Algorithms -- Exact Matching: Classical Comparison-based Methods -- Exact Matching: A Deeper Look At Classical Methods -- Seminumerical String Matching -- Introduction To Suffix Trees -- Linear-time Construction Of Suffix Trees -- First Applications Of Suffix Trees -- Constant-time Lowest Common Ancestor Retrieval -- More Applications Of Suffix Trees -- The Importance Of (sub)sequence Comparison In Molecular Biology --core String Edits, Alignments, And Dynamic Programming -- Refining Core String Edits And Alignments -- Extending The Core Problems -- Multiple String Comparison -- The Holy Grail -- Sequence Databases And Their Uses- The Mother Lode -- Maps, Mapping, Sequencing, And Superstrings -- Strings And Evolutionary Trees -- Three Short Topics -- Models Of Genome-level Mutations. Dan Gusfield. Includes Bibliographical References (p. 505-523) And Index.
备用描述
<p><i>The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming.</i></p>
<p>—<i>Byte</i>, September 1995</p>
<p class="null1">I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up.</p>
<p>—Charles Long</p>
<p><i>If you think you're a really good programmer... read [Knuth's]</i> Art of Computer Programming... <i>You should definitely send me a resume if you can read the whole thing.</i></p>
<p>—Bill Gates</p>
<p class="null1">It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers.</p>
<p>—Jonathan Laventhol</p>
<p>The first revision of this third volume is the most comprehensive survey of classical computer techniques for sorting and searching. It extends the treatment of data structures in Volume 1 to consider both large and small databases and internal and external memories. The book contains a selection of carefully checked computer methods, with a quantitative analysis of their efficiency. Outstanding features of the second edition include a revised section on optimum sorting and new discussions of the theory of permutations and of universal hashing.</p>
备用描述
The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming. –Byte, September 1995 I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up. –Charles Long If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you can read the whole thing. –Bill Gates It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers. –Jonathan Laventhol The first revision of this third volume is the most comprehensive survey of classical computer techniques for sorting and searching. It extends the treatment of data structures in Volume 1 to consider both large and small databases and internal and external memories. The book contains a selection of carefully checked computer methods, with a quantitative analysis of their efficiency. Outstanding features of the second edition include a revised section on optimum sorting and new discussions of the theory of permutations and of universal hashing. Ebook (PDF version) produced by Mathematical Sciences Publishers (MSP),http://msp.org
备用描述
In Modern C++ Design , Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and virtuosity, Alexandrescu offers a cutting-edge approach to software design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code. The book introduces the concept of generic components, reusable design templates that enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding. The author then shows how to apply this approach to recurring, real-world issues that C++ programmers face in their day-to-day activity. All code is available on the Web, along with Alexandrescu's downloadable Loki C++ library, which provides powerful out-of-the-box functionality for virtually any C++ project. For experienced C++ programmers who have at least some familiarity with the Standard Template Library (STL)
备用描述
The bestselling book that has helped millions of readers solve any problemA must-have guide by eminent mathematician G. Polya, How to Solve It shows anyone in any field how to think straight. In lucid and appealing prose, Polya reveals how the mathematical method of demonstrating a proof or finding an unknown can help you attack any problem that can be reasoned out—from building a bridge to winning a game of anagrams. How to Solve It includes a heuristic dictionary with dozens of entries on how to make problems more manageable—from analogy and induction to the heuristic method of starting with a goal and working backward to something you already know.This disarmingly elementary book explains how to harness curiosity in the classroom, bring the inventive faculties of students into play, and experience the triumph of discovery. But it's not just for the classroom. Generations of readers from all walks of life have relished Polya's brilliantly deft instructions on stripping away irrelevancies and going straight to the heart of a problem.
备用描述
Want to learn how to program in C++ immediately? Want to start writing better, more powerful C++ programs today? Accelerated C++'s uniquely modern approach will help you learn faster and more fluently than you ever believed possible. Based on the authors' intensive summer C++ courses at Stanford University, Accelerated C++ covers virtually every concept that most professional C++ programmers will ever use -- but it turns the "traditional" C++ curriculum upside down, starting with the high-level C++ data structures and algorithms that let you write robust programs immediately. Once you're getting results, Accelerated C++ takes you "under the hood", introducing complex language features such as memory management in context, and explaining exactly how and when to use them. From start to finish, the book concentrates on solving problems, rather than learning language and library features for their own sake. The result: You'll be writing real-world programs in no time -- and outstanding code faster than you ever imagined.
备用描述
"Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text." "There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published." "A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises." "In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard."--Jacket
备用描述
Traditionally an area of study in computer science, string algorithms have, in recent years, become an increasingly important part of biology, particularly genetics. This volume is a comprehensive look at computer algorithms for string processing. In addition to pure computer science, Gusfield adds extensive discussions on biological problems that are cast as string problems and on methods developed to solve them. This text emphasizes the fundamental ideas and techniques central to today's applications. New approaches to this complex material simplify methods that up to now have been for the specialist alone. With over 400 exercises to reinforce the material and develop additional topics, the book is suitable as a text for graduate or advanced undergraduate students in computer science, computational biology, or bio-informatics.
备用描述
2.4.2. Preprocessing for real-time string matching2.5 Exercises; 3 Exact Matching: A Deeper Look at Classical Methods; 3.1 A Boyer-Moore variant with a ""simple"" linear time bound; 3.1.1. Key ideas; 3.1.2. One phase in detail; 3.1.3. Correctness and linear-time analysi; 3.2 Cole's linear worst-case bound for Boyer-Moore; 3.2.1. Cole's proof when the pattern does not occur in the text; 3.2.2. The case when the pattern does occur in the text; 3.2.3. Adding in the bad character rule; 3.3 The original preprocessing for Knuth-Morris-Pratt; 3.3.1. The method does not use fundamental preprocessing
备用描述
2.1 Introduction2.2 The Boyer-Moore Algorithm; 2.2.1. Right-to-left scan; 2.2.2. Bad character rule; 2.2.3. The (strong) good suffix rule; 2.2.4. Preprocessing for the good suffix rule; 2.2.5. The good suffix rule in the search stage of Boyer-Moore; 2.2.6. The complete Boyer-Moore algorithm; 2.3 The Knuth-Morris-Pratt algorithm; 2.3.1. The Knuth-Morris-Pratt shift idea; The Knuth-Morris-Pratt shift rule; 2.3.2. Preprocessing for Knuth-Morris-Pratt; 2.3.3. A full implementation of Knuth-Morris-Pratt; 2.4 Real-time string matching; 2.4.1. Converting Knuth-Morris-Pratt to a real-time method
备用描述
3.5.2. Exact matching with wild cards3.5.3. Two-dimensional exact matching; 3.6 Regular expression pattern matching; 3.6.1. Formal definitions; 3.7 Exercises; 4 Seminumerical String Matching; 4.1 Arithmetic versus comparison-based methods; 4.2 The Shift-And method; 4.2.1. How to construct array M; 4.2.2. Shift-And is effective for small patterns; 4.2.3. agrep: The Shift-And method with errors; 4.2.4. How to compute Mk; 4.3 The match-count problem and Fast Fourier Transform; 4.3.1. A fast worst-case method for the match-count problem?; 4.3.2. Using Fast Fourier Transform for match-counts
备用描述
Cover; Half-title; Title; Copyright; Dedication; Contents; Preface; I Exact String Matching: The Fundamental String Problem; 1 Exact Matching: Fundamental Preprocessing and First Algorithms; 1.1 The naive method; 1.1.1. Early ideas for speeding up the naive method; 1.2 The preprocessing approach; 1.3 Fundamental preprocessing of the pattern; 1.4 Fundamental preprocessing in linear time; The Z algorithm; 1.5 The simplest linear-time exact matching algorithm; 1.5.1. Why continue?; 1.6 Exercises; A digression on circular strings in DNA; 2 Exact Matching: Classical Comparison-Based Methods
备用描述
3.3.2. The easy case3.3.3. The general case; 3.3.4. How to compute the optimized shift values; 3.4 Exact matching with a set of patterns; 3.4.1. Naive use of keyword trees for set matching; 3.4.2. The speedup: generalizing Knuth-Morris-Pratt; 3.4.3. Failure functions for the keyword tree; 3.4.4. The failure links speed up the search; 3.4.5. Linear preprocessing for the failure function; 3.4.6. The full Aho-Corasick algorithm: relaxing the substring assumption; 3.5 Three applications of exact set matching; 3.5.1. Matching against a DNA or protein library of known patterns
备用描述
The first revision of this third volume is the most comprehensive survey of computer techniques for sorting and searching. It extends the treatment of data structures in Volume 1 to consider both large and small databases and internal and external memories. The book contains a selection of carefully checked computer methods, with a quantitative analysis of their efficiency. Outstanding features of the second edition include a revised section on optimum sorting and a new discussion of the theory of permutations and of universal hashing.
备用描述
> **Wizard Book** n. Hal Abelson's, Jerry Sussman's and Julie Sussman's Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book.
*from The New Hacker's Dictionary, 2nd edition (MIT Press, 1993)*
备用描述
v. 1. Fundamental algorithms
v. 2. Seminumerical algorithms
v. 3. Sorting and searching
v. 4, fascicule 3. Generating all combinations and partitions.
备用描述
This 1997 book describes a range of string problems in computer science and molecular biology and the algorithms developed to solve them
备用描述
4.4 Karp-Rabin fingerprint methods for exact match
开源日期
2021-03-29
更多信息……

🚀 快速下载

成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️
如果您在本月捐款,您将获得双倍的快速下载次数。

🐢 低速下载

由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)

所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
  • 对于大文件,我们建议使用下载管理器以防止中断。
    推荐的下载管理器:JDownloader
  • 您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
    推荐的电子书阅读器:Anna的档案在线查看器ReadEraCalibre
  • 使用在线工具进行格式转换。
    推荐的转换工具:CloudConvertPrintFriendly
  • 您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
    推荐的工具:亚马逊的“发送到 Kindle”djazz 的“发送到 Kobo/Kindle”
  • 支持作者和图书馆
    ✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
    📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。