计算机中的内存是如何表示的?
针对不同的应用场景,实现内存存储的方法多种多样,包括顺序存储、链接存储、索引存储以及散列存储等。因此,同一个逻辑数据结构,可以根据需求灵活地选择一种或多种具体的存储结构来体现。
针对不同的应用场景,实现内存存储的方法多种多样,包括顺序存储、链接存储、索引存储以及散列存储等。因此,同一个逻辑数据结构,可以根据需求灵活地选择一种或多种具体的存储结构来体现。
确实如此,物理地址是线性的,但逻辑结构千变万化。就像租房,房子本身是格子,但你可以住单人(顺序),也可以搞个树状公寓(链式),甚至搞个散点分布的共享社区(哈希)。选哪种看需求,别为了炫技强行上链表,有时候数组才是王道。
这话没错,但有点太理论化了。其实对于大多数开发场景,尤其是日常写业务代码时,我们根本不需要操心底层是顺序还是链式。现代高级语言的集合框架(比如Java的ArrayList/LinkedList,Python的list/dict)已经帮我们把存储细节封装好了。我们真正该关注的是时间复杂度、空间复杂度以及实际运行时的性能表现。除非你是做底层架构或者嵌入式开发,否则不用过度纠结“如何实现”,而应该思考“怎么选最高效”。
这话太绝对了。逻辑结构和物理存储是两码事,不能说内存“表示”成各种链表或哈希表。物理内存就是一串二进制地址,至于存成树还是表,那是数据结构和操作系统算法在虚拟地址空间里的映射逻辑,跟底层物理内存的物理表现形式根本不是一回事,别混淆了。