Update
This commit is contained in:
parent
f920115b91
commit
75f99e7b81
69 changed files with 2008 additions and 1791 deletions
|
@ -153,7 +153,7 @@ This algorithm is however not very efficient and could be [optimized](optimizati
|
|||
|
||||
## Study of Algorithms
|
||||
|
||||
Algorithms are the essence of [computer science](scompsci.md), there's a lot of theory and knowledge about them.
|
||||
Algorithms are the essence of [computer science](compsci.md), there's a lot of theory and knowledge about them.
|
||||
|
||||
[Turing machine](turing_machine.md), a kind of mathematical bare-minimum computer, created by [Alan Turing](turing.md), is the traditional formal tool for studying algorithms, though many other [models of computation](model_of_computation.md) exist. From theoretical computer science we know not all problems are [computable](computability.md), i.e. there are problems unsolvable by any algorithm (e.g. the [halting problem](halting_problem.md)). [Computational complexity](computational_complexity.md) is a theoretical study of resource consumption by algorithms, i.e. how fast and memory efficient algorithms are (see e.g. [P vs NP](p_vs_np.md)). [Mathematical programming](mathematical_programming.md) is concerned, besides others, with optimizing algorithms so that their time and/or space complexity is as low as possible which gives rise to algorithm design methods such as [dynamic programming](dynamic_programming.md) (practical [optimization](optimization.md) is a more pragmatic approach to making algorithms more efficient). [Formal verification](formal_verification.md) is a field that tries to mathematically (and sometimes automatically) prove correctness of algorithms (this is needed for critical software, e.g. in planes or medicine). [Genetic programming](generic_programming.md) and some other methods of [artificial intelligence](ai.md) try to automatically create algorithms (*algorithms that create algorithms*). [Quantum computing](quantum.md) is concerned with creating new kinds of algorithms for quantum computers (a new type of still-in-research computers). [Programming language](programming_language.md) design is the art and science of creating languages that express computer algorithms well.
|
||||
|
||||
|
@ -216,4 +216,4 @@ Following are some well known algorithms.
|
|||
|
||||
- [programming](programming.md)
|
||||
- [design pattern](design_pattern.md)
|
||||
- [recursion](recursion.md)
|
||||
- [recursion](recursion.md)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue