design and analysis of algorithm project