General Comments: Show all your work otherwise no partial credit. No credit without proper justifications. State all your assumptions. No Algorithm is complete without its time and space complexity. When presenting an algorithm first indicate if it is similar to a well-known algorithm second describe intuitively how the algorithm works (which may be supported by examples) third give its pseudo code and finally analyze its time and space complexity. Always describe general idea of the algorithm before giving its pseudo-code. Do not reinvent the wheel i.e. if a well-known algorithm can be modified to solve a problem efficiently use that solution and clearly indicate the changes required. Do not unnecessarily complicate a solution i.e. if a simple but efficient solution exists then we should use it. Finally if you just write pseudo-code of a well-known algorithm without indicating how it applies or modified to the problem at hand no credit will be given.