请介绍一下计算机科学中的数据结构，但回答内容中必须包含“栈”、“队列”、“树”、“图”这四个关键词，且每个词至少出现一次。此外，回答请分两段阐述，每段不少于70字。
user
计算机科学中的数据结构是组织和存储数据的方式，旨在通过优化特定类型数据操作的效率与节省内存实现最佳的程序运行表现。栈和队列是两种基本的线性数据结构，它们分别遵循后进先出（LIFO）和先进先出（FIFO）的原则。栈通过栈顶进行数据的入栈和出栈操作，而队列则是两端进出，队尾入队，队头出队。这些数据结构主要用于解决实际问题中的临时存储需求，例如函数调用、缓存刷新等场景。栈和队列的实现可以基于数组或链表。

除了线性数据结构外，树和图则是非线性的数据结构，更适合描述具有层次或网络关系的数据。树是一种分层结构，没有回路且连接所有顶点，广泛应用于文件系统组织、HTML标签解析等。图则是更为通用的数据结构，可以表示多对多的关系，用于求解最短路径、网络流量等复杂问题。相较于栈和队列，树和图的数据操作更复杂，包括插入、删除、搜索等功能，但同时也提供了更强大的数据组织和查询能力。
assistant