美文网首页
数组索引的时间复杂度 O(1) 的本质是并行二分查找

数组索引的时间复杂度 O(1) 的本质是并行二分查找

作者: display3d | 来源:发表于2022-11-26 22:17 被阅读0次
2bit寻址逻辑电路.png

上图是寻址逻辑电路,输入端 A、B 共同组成 2 bit 的地址线,2 bit 的地址线可以表示 00、01、10、11 这 4 个地址,它们分别位于输出端 Z、Y、X、W,通过地址线表示的二进制数就可以找到输出端中的不同地址(以后就可以对其进行读写操作了)

也可以这样理解:输入端 A、B 相当于两个开关,输出端 Z、Y、X、W 相当于 4 个灯泡,两个开关的不同状态的组合就可以控制其中 1 个灯泡中的亮灭。

接下来分析单一输入端:

2bit寻址逻辑电路A.png

输入端A 为 1 时,会选出输出端X输出端W

输入端A 为 0 时(经过非门会变成 1),会选出输出端Z输出端Y

结论:不管输入端A 是 0 还是 1,都会选出一半

2bit寻址逻辑电路B.png

输入端B 为 1 时,会选出输出端W输出端Y

输入端B 为 0 时(经过非门会变成 1),会选出输出端X输出端Z

结论:不管输入端 B 是 0 还是 1,都会选出一半

由于只有当与门同时为 1 时,输出端才会输出 1。

2bit寻址逻辑电路_01.png

现在,当输入端A输入端B分别为 0、1 时,输出端Y就是输入端A、B 共同选出的地址。

上图的红线为 1(输入端A 的 0 经过非门会将其之后的线路置为 1)

那它的时间复杂度是怎么样的呢?

由于输入端A、输入端B(比如地址 01)是同时输入的,所以电路会进行并行的二分查找,一个输入端的一次二分查找是 O(1),所有的输入端并行,进行一次二分查找同样是 O(1)。

以上是 2 bit 寻址,更多 bit 的寻址同样是并行进行的,所以时间复杂度同样是 O(1)。

寻址的物理本质是并行二分查找,而数组索引就是在寻址,所以这就是为什么数组的时间复杂度是 O(1) 的原因。

下图是 3 bit 寻址逻辑电路

3bit寻址逻辑电路.png

可以看到有 3 个输入端、8 个输出端。因为 3 bit 地址线的寻址空间大小是 2^3=8。输入端越多,可以寻找的地址空间也就越大。

当输入端有 32 bit 时,可以寻找的地址空间有 2^{32}=4294967296 个,它对应的内存空间是 4 GB,这也就是为什么 32 位系统支持的最大内存是 4 GB 的原因了。

64 位系统的寻址空间大小是 16 EB

1 EB = 1024 PB

相关文章

  • 数组索引的时间复杂度 O(1) 的本质是并行二分查找

    上图是寻址逻辑电路,输入端 A、B 共同组成 2 bit 的地址线,2 bit 的地址线可以表示 00、01、10...

  • 大神带你了解Map源码知识

    数组:数组存储区间是连续的,占用内存严重,故空间复杂度很大,但数组的二分查找时间复杂度很小,为 o(1),数组的特...

  • 二分查找的两种实现 by Python

    时间复杂度:O(logn)二分查找应用场景的局限性:1.二分查找依赖的是顺序表结构,简单的说就是数组;2.二分查找...

  • Objective-C实现二分查找和插值查找

    二分查找二分查找 又称折半查找,要求数组必须是有序的数列,是一种有序查找算法。二分查找的时间复杂度是O(log n...

  • 算法图解记录

    1.二分查找,例如查找一个1-100的数字,时间复杂度为O(logn) 2.数组读取的时间为O (1),插入和删除...

  • 二分查找平均时间复杂度O( log n )

    使用二分查找在有序数组a[n]中查找一个元素x的时间复杂度__O( log n )________。 O(n) O...

  • 查找/索引技术

    查找算法平均时间复杂度空间复杂度查找条件顺序查找O(n)O(1)无序/有序二分查找O(log2n)O(1)有序二叉...

  • java-有序数组中指定数字出现的次数

    1:时间复杂度为o(N)的情况 这个不符合有序数组的要求,有序数组一般优先考虑到二分查找 2:时间复杂度o(log...

  • 二分查找上下界

    普通的二分查找如下。要求给的数组有序。算法题里出现有序的情况时,用二分查找能将数组内查找的时间复杂度从O(N)降到...

  • 总结八

    时间复杂度 由上图,可见,O(1) 最小,O(logn) 次之,比如二分查找就是 O(logn) 时间复杂度可见 ...

网友评论

      本文标题:数组索引的时间复杂度 O(1) 的本质是并行二分查找

      本文链接:https://www.haomeiwen.com/subject/xvfhfdtx.html