Computers reduce human effort and also focus on increasing the performance to push the technology forward. Many approaches have been devised to increase the performance of the computers. One such way is to reduce the size of the transistors used in the systems. Another very significant tactic is to use quantum computers. It proved to be very effective when used to factor large numbers. It was found that it could decrypt codes in 20 minutes which took billions of years with classical computers. This was a great motivation for focusing on this topic. A quantum computer allows a `quantum bit' or qubit to have three states - 0, 1, and 0 or 1. The last state is the coherent state. This enables an operation to be performed on two diverse values at the same time. However, this brings out a problem of decoherence. It becomes difficult to perform the computation using quantum computers. A quantum computer is desired to have five capabilities - scalable system, initialized state, long decoherence time, universal set of quantum gates, high efficiency measurements. Architecture of the quantum computer is the new research area. It is affected by quantum arithmetic, error management, and cluster-state computing. Without it, the quantum algorithms would not prove to be as efficient. To fully utilize the power of a quantum computer, the algorithms used should be based on quantum parallelism.