c - 结构如何影响效率?

标签 c performance structure

指针使程序更高效、更快。但是结构如何影响程序的效率呢?它会使速度更快吗?仅仅是为了代码的可读性还是什么?我可以举个例子来说明它是如何做到的吗?

最佳答案

指针只是指向一个内存地址,它们与效率和速度无关(它只是一个变量,存储一些指令执行所需/有用的地址,仅此而已) 是的,但是数据结构以多种方式影响程序/代码的效率。它们可以增加/减少算法的时间复杂度和空间复杂度,并最终增加/减少代码(在其中实现算法)。

例如,以数组和链表为例

数组:在内存中按顺序分配的一定量的空间

Linkedlist:内存中随机分配的一些空间,但通过指针连接

在所有情况下,两者都可以使用(假设没有太多繁重的空间分配)。但由于数组是连续分配检索比链表中随机分配更快(每次获取下一个分配 block 的地址,然后获取数据)

因此这可以提高代码的速度/效率

有很多这样的例子可以向你证明为什么数据结构更重要(如果它们不那么重要为什么要设计新算法以及为什么你要学习它们)

链接引用, What are the lesser known but useful data structures?

关于c - 结构如何影响效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21520213/

相关文章:

r - 为什么我的 Rcpp 代码没有快多少?

sql-server - SQL Server 缓冲区缓存内容

python - Django - 模型结构

c - 为什么我不能直接在 C 中将数组分配给指针?

java - 优化 Tomcat/垃圾收集

C 函数通过参数之一返回结构数据

refactoring - 如何重构多个复杂的 if-else 分支

c++ - "NULL pointer is passed"用于检测轮廓

c - ANSI C 动态内存分配以及何时应该释放内存

c - 用黑色填充所有位图 1bpp