Separate data type and abstract date type.

We should know which ADT will make our life easier and which implementation will make our implementation faster.

We should notice that there are three fundamental structures: map, set and list(queue, deque, stack, etc.).
And things we know as tree, hash table, array and so on is how it implement in different way or with different constraint.
也就是说,所谓抽象数据结构,只是规定了数据之间的关系、可以进行的操作,但是具体底层如何实现,可以在这个规则下,使用不同的组织形式,树、数列等等实现。 Data structure - Wikipedia Syntax:

Map<String, Integer> m = new HashMap<>();

That is: abstract data type equals data type.

Examples

Deque

Stack

List

Set

Map(Associative Array, Symbol tables and dictionaries)(映射)

The difference between set and map is that when you give a key, set will return boolean and map will return some other values.

ArrayMap

Hierarchies

More details:

Search

Some Way Representing Set and Map

Disjoint Set

Search Trees

QuadTree

KD Tree

Hashing

Heaps for PQ

ADTs and its Implementation Data Structure 也就是,这些抽象数据结构,是一种带有规则的特定数据组织形式,不止一种实现方式,而每种实现方式,也是一种数据组织方式,为了实现其规则,底层代码实现也不尽相同。

Skip List

Graph