Java数据结构
1、常用数据结构种类-简介
1、数据结构包括:线性结构和非线性结构
1-1、线性结构:数据元素之间存在一对一的线性关系,分顺序存储结构(存储元素是连续的(引用地址))和链式存储结构。
1-1-1、常见的线性结构有:
-- 数组、
-- 队列、
-- 链表、
-- 栈、
1-2、非线性结构;二维数组、多维数组、广义表、树、图、
1-2-1、线性表:由N个元素组成的有序序列。
1-2-1-1、常用分为:
-- 数组、
-- 链表、
1-2-2、栈和队列:分为栈(先进后出)、队列(先进先出)
1-2-3、树:典型的非线性结构,其是包括N个结点的有穷集合K。在树结构中,有且仅有一个根节点,该结点没有前驱结点。在树结构中的其他结点都有且仅有一个前驱结点,而且可以有M个后继结点,M>=0。
1-2-3-1、常用分为:二叉查找树、平衡二叉树、红黑树、
1-2-4、图:非线性数据结构。在图结构中,数据结点一般称为顶点,而边是顶点的有序偶对。如果两个定点之间存在一条边,那么就表示这两个顶点具有相邻关系。
1-2-5、堆(Heap): 堆是一种特殊的树型数据结构,一般讨论的堆都是二叉堆。堆的特点是其根据结点的值是所有结点中最小的或者最大的,并且根据点的两个子树也是一个堆结构。
1-2-6、散列表(Hash): 散列表源自于散列函数(Hash funtcion)。
程序 = 数据结构 + 算法 ,数据结构是算法的基础