[Note]: This is an article reposted by others, which may have no practical guiding significance. However, I personally think that computer learning is more than just an application, there is also an idea-a mathematical and management thinking. Mathematics is the prerequisite for learning and learning computer technology well. Countless Turing prize winners are experts in the field of mathematics to prove this. For this reason, I have collected some computer-related mathematical materials and hope to help you.
Http://download.csdn.net/source/1292155
The relationship between computer science and mathematics is a bit strange. 20 or 30 years ago, computer science was basically a branch of mathematics. Now, computer science has a wide range of research fields and many researchers, in many ways, in turn to Promote the Development of mathematics, in a sense, it can be said that the child grows higher than the mother. But in any case, this child is always in the mother's blood. This blood is the mathematical underpinning of computer science (the mathematical foundation of computer science), that is, theoretical computer science.
Another cross between modern computer science and mathematics is computational mathematics, numerical analysis, and scientific computing, which is traditionally not included in theoretical computer science. Therefore, this article ignores all computational mathematics. What is the most common word that is put together with theoretical computer science? A: discrete mathematics. The relationship between the two is so close that they become synonyms in many occasions.
Traditionally, mathematics is centered on analysis. Students in the Mathematics Department should study mathematics analysis for three or four semesters, and then perform complex, real-time, and functional analysis. Real-time variables and functional functions are considered by many to be the entry of modern mathematics. It is mainly used in physics, chemistry, and engineering.
With the emergence of computer science, some mathematical branches that were not previously very valued suddenly become important. It is found that the mathematical objects of these branches are significantly different from those of traditional analysis: the objects of analysis and research are continuous, so differentiation and integration become basic operations; the research objects of these branches are discrete, so there is little chance to perform such calculations. These branches are called discrete mathematics ". The name of "Discrete Mathematics" is getting louder and louder, and the traditional branch of mathematics centered on analysis is called "continuous mathematics ". After decades of development, discrete mathematics is basically stable. Discrete Mathematics is generally considered to include the following subjects:
1) set theory, mathematical logic and metamathematics. This is the foundation of mathematics and computer science.
2) graph theory, algorithm graph theory, combined mathematics, and combined algorithms. Computer science, especially the core of Theoretical Computer Science, is algorithms, and a large number of algorithms are built on Graphs and combinations.
3) abstract algebra. Algebra is ubiquitous and is very important in mathematics. In computer science, we are surprised to find that algebra has so many applications. However, is it so easy to add the "discrete" hat to the theory of computer science? After about a dozen years ago, a master finally told us: No.
D. E. knuth (how great he is, and I don't want to talk nonsense) opened a brand new course concrete mathematics in Stanford. The term concrete has two meanings:
First, for abstract. Knuth believes that the objects of traditional mathematical research are too abstract, leading to insufficient concern for specific problems. He complained that the mathematics he needed in his studies often did not exist, so he had to create some mathematics himself. To direct application-oriented needs, he must advocate "specific" mathematics.
Here I will give a simple explanation. For example, in the theory of set, mathematicians are concerned with the most fundamental problem, such as the nature of the systems of justice. The nature of some specific sets, various common sets, relations, and mappings are not important to mathematicians. However, what is applied in computer science is exactly these things. Knuth was the first computer in the world to see this.
Second, concrete is continuous (continuous) plus discrete (discrete ). Continuous mathematics and discrete mathematics are useful mathematics! The above is mainly from the mathematical point of view. From the computer point of view, the main research fields of theoretical computer science currently include: Computational Theory, algorithm design and complexity analysis, cryptography and information security, distributed computing theory, parallel computing theory, network theory, biological Information computing, computational geometry, and programming language theory. These fields are intertwined with each other, and new topics are constantly being proposed. Therefore, it is difficult to come up with a clue.
Here are some examples.
Due to the application demand, cryptography is now a hot topic in research. Cryptography is based on number theory (especially computational number theory), algebra, information theory, probability theory, and random processes. It is sometimes used in graph theory and combination.
Many people think that cryptography is encryption and decryption, while encryption is to use a function to disrupt data. This is a big mistake. Modern Cryptography includes at least the following levels:
First, the foundation of cryptography. For example, is it really difficult to break down a large number? Is there a general tool to prove that the agreement is correct?
Second, the Basic Topic of cryptography. For example, a better one-way function and signature protocol.
Third, advanced cryptography issues. For example, the length of the zero-knowledge proof is used to share secrets.
Fourth, new applications of cryptography. Such as digital cash and traitor tracking. The rapid development of modern social science and technology, the development of mathematics has reached a very abstract point, but the mathematics used by computers is still a classic thing before, how to learn mathematics well, using the computer platform to make good use of mathematics, computation is introduced into every corner of the world, and can be used to improve the quality of life of human beings, this will be the ultimate goal and pursuit of our computer practitioners.