Gmapping. Conveniently enough, a wrapper has been made for GMapping to work with ROS and someone has written a tutorial on it.
TreeMap Algorithm. This has not been ported to ROS, yet.
Code for these and many more simultaneous localization and mapping (SLAM) algorithms are available at OpenSLAM.org.
Its Friday, I'm just going to leave this here
14 hours ago