It is a matter of perspective.
About "basic" data structures.
Indeed array and linked list are fundamental data structures, two different implementations
of the linear lists, of which stack and queue can be seen as offspring.
But you should also view array and links as basic tools to build other data structures,
and sometimes they can be combined (I think hash tables with buckets use both constructs).
About priority queues and the-like. The binary heap I always consider to be a data structure that exists on so many levels.
Distinguishing them helps in understanding the heap, but also makes you aware of these levels
when looking at other data structures. The levels match most of your diagram, but the meaning
of your symbol $\subset$ needs some explanation.
(1) Top level is the priority queue.
It is an abstract data structure that contains pairs of data+priority.
The (main) operations are "isEmpty", "insert", and "deleteMax".
There are several implementations of the ADT priority queue, each of them motivated by
of the operations, or sometimes simplifying earlier complicated constructions.
(2) The binary heap is perhaps the most well known
of these implementations. It is a complete binary tree,
where the priority values are partially
ordered: nodes have larger priority than their children, but there is no order between left
and right subtrees. The standard ADT operations are implemented by moving the appropriate
items along the tree, swapping nodes with parents or children when they have conflicting
However, although these operations are understood as if in a tree, their actual implementation
does not use pointers/links as usual.
(3) As the tree used here is complete, its nodes can be mapped onto positions in an array, and
rather than following pointers to parent and children, we compute their address.
In this level, the binary heap is linear after all.