数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。

在日常的编程中,常见的数据结构有数组、栈、队列、链表、树、散列表、堆、图等,每种数据结构都有一些经典的算法。

对于线性表结构,常用的是一些排序和查找算法,如插入排序、冒泡排序、堆排序、选择排序、归并排序和二分查找等。

对于树结构常见的是遍历算法,分先序遍历、中序遍历、后序遍历等,诸如DFS(深度优先算法)、BFS(广度优先算法)等。

对于图常见的也是一些遍历算法,在离散数学中多有提及,在树的一些算法的基础上(树是特殊的图),还有Dijkstra(迪杰斯特拉)算法等。