01 讲讲常用的数据结构及他们之间的区别及使用场景 (百度面试题)
一.数据结构分类数据的逻辑结构1.集合:数据结构中的元素之间除了“同属一个集合”的相互关系外,别无其他关系;2.线性结构:数据结构中的元素存在一对一的相互关系;3.树形结构:数据结构中的元素存在一对多的相互关系;4.图形结构:数据结构中的元素存在多对多的相互关系。数据的存储结构:顺序存储结构:数据元素在内存中的物理存储顺序与他们的逻辑顺序相同链式存储结构:使用若干地址分散的存储单元存储数据元素,逻辑上相邻的数据元素在物理位置上不一定相邻,数据元素之间的关系需要采用附加信息特别指定。c语言采用指针,Java采用引用指定。线性结构和非线性结构两类线性结构:最多只有一个直接前趋结点(第一个没有)和一个直接后继结点。栈、队列和串等都属于线性结构非线性结构:可能有多个直接前趋结点和多个直接后继结点,数组、广义表、树结构和图数据结构分类数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表二.八种常见数据结构1、数组2、栈3、队列4、链表5、树6、散列表7、堆8、图
来自:数据结构基础-时间、空间复杂度