数据结构与算法
常见的数据结构包括数组、链表、栈、队列、树、图等。
数组
在计算机科学中,数组数据结构(英语:array data structure),简称数组(英语:Array),是由相同类型的元素(element)的集合所组成的数据结构,分配一块连续的内存来存储。利用元素的索引(index)可以计算出该元素对应的存储地址。
- 优点:支持随机访问,插入和删除操作相对简单。
- 缺点:大小固定,插入和删除操作可能需要移动大量元素。
- 用途:适用于需要频繁随机访问元素的场景。
链表
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。
由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间。
优点:插入和删除操作相对简单,不需要移动大量元素。 缺点:不支持随机访问,需要遍历整个链表才能找到特定元素。 用途:适用于频繁插入和删除元素的场景。