algorithms I feel like implementing in different languages for fun