对于数据结构内容的简单理解

数据结构

①动态数组
数组是一个用来存放相同数据类型变量的容器
它是线性结构的一种
在定义之后开辟一块下标从0开始的连续空间
它的空间由栈分配
先进后出(FILO)

优点:
得益于其开辟的空间连续,所以数组随机访问性强,查找速度快
缺点:
同样因为开辟空间的连续性,数组的空间利用率不高
无法像链表一样方便大量的插入删除操作

②链表
链表也是一种线性结构,但它不必是连续、有序的
它的空间由栈分配
链表带有两个属性:值和指针,指针指向下一个元素的地址

优点:
对于大量的插入删除操作能从容应对
空间利用率较高
缺点:
访问特别费时
对于数据结构内容的简单理解
③队列
它同样是线性结构的一种
先进先出(FIFO)
头结点(front)和尾结点(rear),为了解决“假上溢”的现象而类似于收尾相连的环形,这也使得它的空间利用率进一步提高
它广泛操作系统的缓冲区

④散列表(哈希表)
能够通过给定的关键字(key)的值直接访问到具体对应的值 (value)的一个数据结构

优点:
因为键值对一一对应的关系,它的访问速度很快
适用于缓存数据
缺点:
有时候冲突不可避免,通常的解决方法是利用哈希函数,选择除留取余的办法解决冲突

⑤集合
set集合
集合中的元素不重复、无序性
list集合
元素可重复、有序性
map集合
它不是单个,而是成对的“键 + 值”