hash vs avl