Random algorithms and data structures I felt like implementing