important algorithms