数据结构
1.常见的数据结构
和集合相关的数据结构有:栈,队列,数组,链表,红黑树。
1)栈:
先进后出
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d36b41673215fd9a98ba9c5f096490a6.png)
2)队列:
先进先出
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8241567cfbc4498b8c423310c0e5edce.png)
3)数组:
查询快:数组的地址是连续的,我们通过数组的首地址可以找到数组,通过数组的索引可以快速查找某一个元素。
增删慢:数组的长度是因定的,我们想要增加/删除一个元素必须创建一个新数组,把源数组的数据复制过来,源数组会在内存中被销毁(垃圾回收)。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4541384378d7088929d717cc120361da.png)
4)链表:
查询慢:链表中地址不是连续的,每次查询元素,都必须从头开始查询。
增删快:链表结构,增加/删除一个元素,对链表的整体结构没有影响,所以增删快。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d3c49fe4c95cbc4ba7b9b6d8f34287a0.png)
5)红黑树:
查询速度非常的快
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/534160a13df67781f514b1d3f20f4e6e.png)