computer algorithms study notes 896785