Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Theory of computation
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Computational complexity theory === {{main|Computational complexity theory}} [[Image:Complexity subsets pspace.svg|250px|thumb|right|A representation of the relation among complexity classes]] Computational complexity theory considers not only whether a problem can be solved at all on a computer, but also how efficiently the problem can be solved. Two major aspects are considered: [[time complexity]] and [[space complexity]], which are respectively how many steps it takes to perform a computation, and how much memory is required to perform that computation. In order to analyze how much time and space a given [[algorithm]] requires, computer scientists express the time or space required to solve the problem as a function of the size of the input problem. For example, finding a particular number in a long list of numbers becomes harder as the list of numbers grows larger. If we say there are ''n'' numbers in the list, then if the list is not sorted or indexed in any way we may have to look at every number in order to find the number we're seeking. We thus say that in order to solve this problem, the computer needs to perform a number of steps that grow linearly in the size of the problem. To simplify this problem, computer scientists have adopted [[Big O notation|big ''O'' notation]], which allows functions to be compared in a way that ensures that particular aspects of a machine's construction do not need to be considered, but rather only the [[Asymptotic analysis|asymptotic behavior]] as problems become large. So in our previous example, we might say that the problem requires <math>O(n)</math> steps to solve. Perhaps the most important open problem in all of [[computer science]] is the question of whether a certain broad class of problems denoted [[NP (complexity)|NP]] can be solved efficiently. This is discussed further at [[P = NP problem|Complexity classes P and NP]], and [[P versus NP problem]] is one of the seven [[Millennium Prize Problems]] stated by the [[Clay Mathematics Institute]] in 2000. The Official Problem Description was given by [[Turing Award]] winner [[Stephen Cook]].
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Theory of computation
(section)
Add topic