📜  门| GATE-CS-2003 |问题11

📅  最后修改于: 2021-07-02 17:44:36             🧑  作者: Mango

考虑将两个n位数字相乘的数组乘法器。如果电路中的每个门都有单位延迟,则乘法器的总延迟为
(A) Θ(1)
(B) Θ(log n)
(C) Θ(n)
(D) Θ(n 2 )答案: (C)
说明: ‘n’位阵列乘法器(n * n)=(2n – 1)中使用的门数
电路中的每个门都有一个单位延迟。

总延迟

= 1 * (2n – 1) 
= O(2n – 1) 
= O(n)  

假设2个数字A和B。

拿,

A = A0 A1 A2 A3
B = B0 B1 B2 B3 

要使A和B相乘,我们需要做的是,

  1. A0 A1 A2 A3与B1相乘需要1 AND门
  2. A0 A1 A2 A3与B2相乘需要1 AND门
  3. A0 A1 A2 A3与B3相乘需要1 AND门
  4. A0 A1 A2 A3与B4相乘需要1 AND门

另外,还需要3个“或”门来添加“与”门得到的项。
因此,所需的总门数= 4 + 3 = 7,即2N-1。

所以,

Time complexity = ϴ(n) 

选项(C)是正确的。
这个问题的测验