What are Algorithms? And Their Types, how to learn them?