数组: 有序的元素序列,将有限个元素按顺序排列的集合。链表:有序的元素序列,但不同于数组,链表在内存中不是连续存放的,通过指针指向下一个元素。栈:一种操作受限制的线性表,其限制是仅能在一端进行插入和删除。新添加的元素会被保存到栈顶,称为入栈,删除的时候移除栈顶的第一个元素,称为出栈。后进先出。队列: 一种操作受限制的线性表,其限制是仅能在前端进行删除,后端进行插入。先进先出。二分搜索树: 一种具有层次结构的有限集合。每个结点都有左右结点,比结点大的在结点右边,比结点小的在结点左边。这样的特点使得查找效率很高效。集合:由一堆无序的、 不重复的元素组成的集合。映射:通过方式存储数据,每个元素都有,通过键访问元素。堆:特殊的树形结构。最大值在根,每个父节点都比子节点大,称为最大堆;根是最小值,每个父节点都比子节点小,称为最小堆。优先队列:一种特殊的队列,其特殊之处是根据优先级出队,而不是先进先出。前缀树:n叉树结构,通过字符寻找下一个节点。并查集:集合与集合之间的运算。比如两个元素是否同一个集合;合并集合;哈希表:类似映射。不同之处是:将key通过哈希函数转成数字索引,再去访问数组的元素。图:由n(n ≥ 0)个结点 组成的集合。每个结点都可以指向其他结点。

数组

类型名称:数组 。
数据对象集:n(n ≥ 0)个元素构成的有序序列 。
操作集:整数i表示位置,ElementType为元素类型。
查找元素:int find( ElementType e)插入元素:void insert(int i, ElementType e)删除元素:ElementType remove(int i)更新元素:void set(int i, ElementType e)访问元素:ElementType get(int i)返回长度:int length()
数组

链表

类型名称:链表。
数据对象集:n(n ≥ 0)个结点构成的有限集合,每个结点带有指向下一个元素的指针
操作集:整数i表示位置,ElementType为元素类型。
添加元素:void insert(int i, ElementType e)删除元素:ElementType remove(int i)查找元素:int find(ElementType e)更新元素:void set(int i, ElementType e)访问元素:ElementType get(int i)链表元素数量:int length()
链表

栈

类型名称:栈。
数据对象集:n(n ≥ 0)个构成的有序序列元素。
操作集:ElementType为元素类型。
入栈:void push(ElementType e)出栈:ElementType pop()栈顶元素:ElementType peek()元素数量:int length()
栈

队列

类型名称:队列。
数据对象集:n(n ≥ 0)个构成的有序序列元素。
操作集:ElementType为元素类型。
进队:enqueue(ElementType e)出队:ElementType dequeue()队首:ElementType front()是否空:boolean isEmpty()元素数量:int length()
队列

集合

类型名称:集合。
数据对象集:n(n ≥ 0)个元素构成的有限集合。
操作集:ElementType为元素类型。
添加:void add(ElementType e)删除:ElementType remove(ElementType e)是否包含某个元素:boolean contains(ElementType e)是否为空:boolean isEmpty()长度:int length()
集合

映射

类型名称:映射。
数据对象集:每个元素都有,通过键访问元素
操作集:KeyType为键类型,ValueType为值类型。添加:void add(KeyTpe key, ValueType value)访问:ValueType get(KeyType key)修改:void set(KeyTpe key, ValueType value)删除:ValueType remove(KeyType key)元素数量:int length()
映射

二分搜索树

类型名称:二分搜索树。
数据对象集:n(n ≥ 0)个结点构成的有限集合,每个结点都有左右指针指向它的子节点
操作集:ElementType为元素类型。
插入:void insert(ElementType e)删除:remove(ElementType e)查找:ElementType find(ElementType e)前序遍历:void preOrder()中序遍历:void preOrder()后序遍历:void preOrder()层序遍历:void levelOrder()结点数量:int size()
二分搜索树

前缀树

类型名称:前缀树。
数据对象集:每个节点都有一个指针指向下一个,通过字符寻找下一个节点。
操作集:默认为处理字母字符。
添加单词:void add(String word)查询是否有某个单词:boolean contains(String word)是否包含某个前缀:boolean isPrefix(String prefix)单词数量:int size()
前缀树

堆

类型名称:最大堆。
数据对象集:n(n ≥ 0)个结点构成的有限集合,通过索引关系访问父节点以及左右结点
操作集:ElementType为元素类型。
添加:void add(ElementType e)删除堆顶元素:ElementType remove(ElementType e)获取堆顶元素:ElementType get()元素数量:int lenght()
堆

优先队列

类型名称:优先队列。
数据对象集:n(n ≥ 0)个构成的有序序列元素
操作集:ElementType为元素类型。
进队:enqueue(ElementType e)出队:ElementType dequeue()队首:ElementType front()是否空:boolean isEmpty()元素数量:int length()
在这里插入图片描述

并查集

类型名称:并查集。
数据对象集:元素 或 集合。
操作集:ElementType为元素类型 。
是否同一个集合:boolean isConnected(ElementType p, ElementType q)合并集合:void unionElement(ElementType p, ElementType q)
并查集

哈希表

类型名称:哈希表。
数据对象集:有的元素。
操作集:KeyType为键类型,ValueType为值类型。添加:void add(KeyTpe key, ValueType value)访问:ValueType get(KeyType key)修改:void set(KeyTpe key, ValueType value)删除:ValueType remove(KeyType key)哈希函数:int hashCode(key)元素数量:int size()
哈希表

图

类型名称:图。
数据对象集:结点。每个节点都可以指向其他结点。
操作集:ElementType为元素类型 。
是否包含某个点:boolean contains(ElementType v)v1点到v2点是否连通:boolean isConnected(ElementType v1, ElementEtype v1)添加点:void addVertex(ElementType v)添加线:void addEdge(ElmentType v1, ElmentType v2)删除点:ElementType removeVertex(v)删除线:void removeEdge(ElementType v1, ElementType v2)获取点的线:Array getEdge(v)
图