Basic algorithm implementations and practice problems