常用数据结构及应用场景
数组:查询的时间复杂度为O(1),适合数据元素大小确定,删除插入较少而查询较多的场景;
链表:适合数据元素个数不确定,而且需要经常进行数据添加和删除的场景;
栈:后进先出,在解决某个问题时,只要求关心最近一次的操作,并且在操作完成后,需要向前查找到更前一次的操作,深度优先遍历;
队列:底层是双向链表,双链表的头指针允许在队头查看和删除数据,而双链表的尾指针允许在队尾查看和添加数据,广度优先遍历;
树:递归。
队列和栈是线性数据结构的典型代表,而数组、链表是常用的两种数据存储结构,队列和栈均可以用数组或链表的存储方式实现它的功能!