Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks. For example, databases use B-tree indexes for small percentages of data retrieval and compilers and databases use dynamic hash tables as look up tables.
Data structures provide a means to manage large amounts of data efficiently for uses such as large databases and internet indexing services.
Usually, efficient data structures are key to designing efficient algorithms. Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design.
Storing and retrieving can be carried out on data stored in both main memory and in secondary memory. Computational complexity theory is a branch of the theory of computation that focuses on classifying computational problems according to their inherent difficulty, and relating those classes to each other. A computational problem is understood to be a task that is in principle amenable to being solved by a computer, which is equivalent to stating that the problem may be solved by mechanical application of mathematical steps, such as an algorithm.
A problem is regarded as inherently difficult if its solution requires significant resources, whatever the algorithm used. The theory formalizes this intuition, by introducing mathematical models of computation to study these problems and quantifying the amount of resources needed to solve them, such as time and storage.
Other complexity measures are also used, such as the amount of communication used in communication complexity , the number of gates in a circuit used in circuit complexity and the number of processors used in parallel computing. One of the roles of computational complexity theory is to determine the practical limits on what computers can and cannot do.
- Framing the Social Security Debate: Values, Politics, and Economics (Conference of the National Academy of Social Insurance)!
- Making Strategic Leaders?
- Equine geriatric medicine and surgery;
- HEP Subprograms;
- Looking for other ways to read this?.
- Navigation menu!
- Greed: Economics and Ethics in Conflict?
Distributed computing studies distributed systems. A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages. Three significant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components. And now a perfect example could be the blockcain.
A computer program that runs in a distributed system is called a distributed program , and distributed programming is the process of writing such programs. An important goal and challenge of distributed systems is location transparency. Parallel computing is a form of computation in which many calculations are carried out simultaneously,  operating on the principle that large problems can often be divided into smaller ones, which are then solved "in parallel".
There are several different forms of parallel computing: bit-level , instruction level , data , and task parallelism. Parallelism has been employed for many years, mainly in high-performance computing , but interest in it has grown lately due to the physical constraints preventing frequency scaling.
Parallel computer programs are more difficult to write than sequential ones,  because concurrency introduces several new classes of potential software bugs , of which race conditions are the most common. Communication and synchronization between the different subtasks are typically some of the greatest obstacles to getting good parallel program performance.
The maximum possible speed-up of a single program as a result of parallelization is known as Amdahl's law. Very-large-scale integration VLSI is the process of creating an integrated circuit IC by combining thousands of transistors into a single chip. VLSI began in the s when complex semiconductor and communication technologies were being developed. The microprocessor is a VLSI device. Machine learning is a scientific discipline that deals with the construction and study of algorithms that can learn from data.
Machine learning can be considered a subfield of computer science and statistics. It has strong ties to artificial intelligence and optimization , which deliver methods, theory and application domains to the field. Machine learning is employed in a range of computing tasks where designing and programming explicit, rule-based algorithms is infeasible. Example applications include spam filtering , optical character recognition OCR ,  search engines and computer vision. Machine learning is sometimes conflated with data mining ,  although that focuses more on exploratory data analysis.
Computational biology involves the development and application of data-analytical and theoretical methods, mathematical modeling and computational simulation techniques to the study of biological, behavioral, and social systems. Computational biology is different from biological computation , which is a subfield of computer science and computer engineering using bioengineering and biology to build computers , but is similar to bioinformatics , which is an interdisciplinary science using computers to store and process biological data.
Computational geometry is a branch of computer science devoted to the study of algorithms that can be stated in terms of geometry. Some purely geometrical problems arise out of the study of computational geometric algorithms, and such problems are also considered to be part of computational geometry. While modern computational geometry is a recent development, it is one of the oldest fields of computing with history stretching back to antiquity. The book prescribes step-by-step procedures for constructing geometric objects like altars using a peg and chord.
Other important applications of computational geometry include robotics motion planning and visibility problems , geographic information systems GIS geometrical location and search, route planning , integrated circuit design IC geometry design and verification , computer-aided engineering CAE mesh generation , computer vision 3D reconstruction.
Information theory is a branch of applied mathematics , electrical engineering , and computer science involving the quantification of information. Information theory was developed by Claude E. Shannon to find fundamental limits on signal processing operations such as compressing data and on reliably storing and communicating data. Since its inception it has broadened to find applications in many other areas, including statistical inference , natural language processing , cryptography , neurobiology ,  the evolution  and function  of molecular codes, model selection in statistics,  thermal physics,  quantum computing , linguistics , plagiarism detection,  pattern recognition , anomaly detection and other forms of data analysis.
Applications of fundamental topics of information theory include lossless data compression e. ZIP files , lossy data compression e. The field is at the intersection of mathematics , statistics , computer science , physics , neurobiology , and electrical engineering.http://outer-edge-design.com/components/texts/1556-top-smartphone.php
Phiala Shanahan, Theory Division
Its impact has been crucial to the success of the Voyager missions to deep space, the invention of the compact disc, the feasibility of mobile phones, the development of the Internet , the study of linguistics and of human perception, the understanding of black holes , and numerous other fields. Important sub-fields of information theory are source coding , channel coding , algorithmic complexity theory , algorithmic information theory , information-theoretic security , and measures of information.
Cryptography is the practice and study of techniques for secure communication in the presence of third parties called adversaries. Applications of cryptography include ATM cards , computer passwords , and electronic commerce. Modern cryptography is heavily based on mathematical theory and computer science practice; cryptographic algorithms are designed around computational hardness assumptions , making such algorithms hard to break in practice by any adversary.
It is theoretically possible to break such a system, but it is infeasible to do so by any known practical means. These schemes are therefore termed computationally secure; theoretical advances, e. There exist information-theoretically secure schemes that provably cannot be broken even with unlimited computing power—an example is the one-time pad —but these schemes are more difficult to implement than the best theoretically breakable but computationally secure mechanisms.
A quantum computer is a computation system that makes direct use of quantum-mechanical phenomena , such as superposition and entanglement , to perform operations on data. Whereas digital computers require data to be encoded into binary digits bits , each of which is always in one of two definite states 0 or 1 , quantum computation uses qubits quantum bits , which can be in superpositions of states. A theoretical model is the quantum Turing machine , also known as the universal quantum computer.
Quantum computers share theoretical similarities with non-deterministic and probabilistic computers ; one example is the ability to be in more than one state simultaneously.
Phiala Shanahan, Theory Division | Jefferson Lab
The field of quantum computing was first introduced by Yuri Manin in  and Richard Feynman in As of [update] , quantum computing is still in its infancy but experiments have been carried out in which quantum computational operations were executed on a very small number of qubits. Information-based complexity IBC studies optimal algorithms and computational complexity for continuous problems. IBC has studied continuous problems as path integration, partial differential equations, systems of ordinary differential equations, nonlinear equations, integral equations, fixed points, and very-high-dimensional integration.
Computational number theory , also known as algorithmic number theory , is the study of algorithms for performing number theoretic computations. The best known problem in the field is integer factorization. Computer algebra , also called symbolic computation or algebraic computation is a scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects. Although, properly speaking, computer algebra should be a subfield of scientific computing , they are generally considered as distinct fields because scientific computing is usually based on numerical computation with approximate floating point numbers , while symbolic computation emphasizes exact computation with expressions containing variables that have not any given value and are thus manipulated as symbols therefore the name of symbolic computation.
In programming language theory , semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages. It does so by evaluating the meaning of syntactically legal strings defined by a specific programming language, showing the computation involved. In such a case that the evaluation would be of syntactically illegal strings, the result would be non-computation. Semantics describes the processes a computer follows when executing a program in that specific language.
This can be shown by describing the relationship between the input and output of a program, or an explanation of how the program will execute on a certain platform , hence creating a model of computation.
Formal methods are a particular kind of mathematics based techniques for the specification , development and verification of software and hardware systems. Formal methods are best described as the application of a fairly broad variety of theoretical computer science fundamentals, in particular logic calculi, formal languages , automata theory , and program semantics , but also type systems and algebraic data types to problems in software and hardware specification and verification.
Automata theory is the study of abstract machines and automata , as well as the computational problems that can be solved using them. It is a theory in theoretical computer science, under Discrete mathematics a section of Mathematics and also of Computer Science. Coding theory is the study of the properties of codes and their fitness for a specific application. Codes are used for data compression , cryptography , error-correction and more recently also for network coding. Codes are studied by various scientific disciplines—such as information theory , electrical engineering , mathematics , and computer science —for the purpose of designing efficient and reliable data transmission methods.
This typically involves the removal of redundancy and the correction or detection of errors in the transmitted data. Theoretical results in machine learning mainly deal with a type of inductive learning called supervised learning. In supervised learning, an algorithm is given samples that are labeled in some useful way.
For example, the samples might be descriptions of mushrooms, and the labels could be whether or not the mushrooms are edible. The algorithm takes these previously labeled samples and uses them to induce a classifier. This classifier is a function that assigns labels to samples including the samples that have never been previously seen by the algorithm. The goal of the supervised learning algorithm is to optimize some measure of performance such as minimizing the number of mistakes made on new samples.
From Wikipedia, the free encyclopedia. This article is about the branch of computer science and mathematics. For the journal, see Theoretical Computer Science journal. Main article: History of computer science. Main article: Algorithm. Main article: Data structure. Main article: Computational complexity theory. Main article: Distributed computation.
Main article: Parallel computation. Main article: VLSI. Main article: Machine learning. Main article: Computational biology. Main article: Computational geometry. Main article: Information theory. Main article: Cryptography.
March 2004 (Volume 13, Number 3)
Main article: Quantum computation. Main article: Information-based complexity. Main article: Computational number theory. Main article: Symbolic computation. Main article: Program semantics. Theoretical and computational physics provide the vision and the framework for extending our knowledge of particles and the universe.
Cutting-edge research in the physics of particle accelerators, particle beams, and particle detection enables scientists to stay on the threshold of discovery. Supporting use-inspired basic research in accelerator science and technology to make particle accelerator technology widely available to science and industry. High Energy Physics U. More Information. Skip to main content. Science of High Energy Physics. Impact of High Energy Physics. Funding Opportunities.
HEP Subprograms. Intensity Frontier Researchers at the Intensity Frontier investigate some of the rarest particle interactions in nature and subtle effects that require large data sets to observe and measure. Cosmic Frontier Researchers at the Cosmic Frontier use naturally occurring cosmic particles and phenomena to reveal the nature of dark matter, cosmic acceleration, and more.
Theoretical and Computational Physics Theoretical and computational physics provide the vision and the framework for extending our knowledge of particles and the universe. Accelerator Stewardship Supporting use-inspired basic research in accelerator science and technology to make particle accelerator technology widely available to science and industry. HEP Science Highlights. View All. Survey Delivers on Dark Energy with Multiple Probes The Dark Energy Survey has delivered dark energy constraints combining information from four of its primary cosmological probes for the first time.
Superconducting Films for Particle Acceleration Researchers demonstrated record accelerating cavity performance using a technique that could lead to significant cost savings. Parceling Particle Beams Beam chopper cuts accelerator-generated ion beams under highly demanding conditions. An Interaction of Slipping Beams Successful models of the fraught dynamics of two particle beams in close contact lead to smoother sailing in an area of particle acceleration.
Extracting Signs of the Elusive Neutrino Scientists use software to "develop" images that trace neutrinos' interactions in a bath of cold liquid argon.