The best alogorithm depends on the nature of your data. If they are, for instance, random values then you'll better don't even try to compress them.
If you need a guidance on a compression method then I suggest you the Salomon's book: "Data Compression: The Complete Reference"
On the other hand, if you are searching for a ready-to-use library, then you have several options (they depend also on your favourite development platform, for instance,
provides the System.IO.Compression Namespace
]) and Google is you friend friend