Тут нелинейные структуры данных трудно все охватить не говоря о мозге. К примеру RB-Tree, AVL-Tree, 2-3 Tree, 2-3-4 Tree, B-Tree, B+-Tree, B*-Tree, Splay Tree, ну может ещё R-Tree короче очень сложно. А ещё куча есть очень сложная Фибоначчиева куча.
Многие которые себя называют true-программистами кроме двоичного дерева поиска не могут реализовывать выше перечисленные деревья. Да что тут говорить, если многие программеры немогут самостоятельно реализовать merge sort и quick sort не рекурсивный.