Different types of algorithmes and data structures