数据存储于内存时,决定了数据顺序和位置关系的便是数据结构。
将数据存储于内存时,根据使用目的选择合适的数据结构,可以提高内存的利用率。
链表:
- 链表中的数据呈线性排列,每个数据都有一个指针,它指向下一个数据的内存地址。
- 在链表中,数据一般都是分散存储于内存中的,无须存储在连续空间内。
- 访问数据:从第一个数据开始,顺着指针的指向一一往下访问;
时间复杂度:O(n):算法的运行时间最长也就是n的常数倍。
- 添加数据:改变添加位置前后的指针指向就可以;时间复杂度:O(1)
- 删除数据:改变删除位置前后的指针指向就可以;时间复杂度:O(1)
删除掉的数据虽然还在内存中,但是没有途径可以访问到。
需要其所在的内存空间时,用新数据覆盖即可。
数组:
- 数组中的数据呈线性排列。
- 数组按顺序存储在内存的连续空间内,每个数据的