数组、链表的特点就是跟顺序有关系,强调一个次序的概念,但一般只有一个访问次序,所以一般跟顺序关系强的问题,可以考虑用数据、链表作为数据结构。
树的特点是强调层级关系,并且天生具有递归的性质,它也有一个次序的概念,但是跟数据、链表不同,它有多条线,有多个访问次序。一般可以用来解决层级问题,或者在某一点有多个选择的问题。
图则是强调连通、相邻的关系,具有一定的递归性质。在某一点,它也有多个选择,但是关注的重点可能是如何从A到B,或者A、B是否相邻。所以碰到跟连通、相邻有关的问题,可以考虑图结构。
这三个数据结构,从数组到图,相互包容而又有所发展。