algorithmnotes