In the olden days of old, induring data structures class, we learned how AVL trees worked. I would have had that in one of my classes, but the instructor said "you'll never actually use this" and instead had us learn 2-3 trees and b* trees instead. Those were days when memory was tight and processes were singallysingly threaded. YouYou didn't use a deque when a singly linked list would work just as well.
The skip list is much more common today with more available memory and concurrency not being an issue (you don't need to lock much at all when acting as a writer in a skip list - compared to everything with an AVL tree).
Frankly, it's my favorite data structure now in that itsit's something I can easily reason about how it works underneath and where it will be advantageous or disadvantageous to use.
You aren't going to need to write one from scratch (unless you get it as an interview question - but then you're just as likely to get implement an AVL treeimplement an AVL tree).





