in linux it all depends on how the package maintainer likes it to have the package installed.
e.g. through various distributions and versions of them, i've occasionally seen weird things happening: packages being installed in /bin (while it was a system related program) or /sbin (while it wasn't a system related program), and in /usr/local/bin (not self compiled!) and even /opt
Yes, once i've seen it installing in /usr/lib (an executable file!, not a .so), odd but it happend.
Programs are executables (don't be mistaken by .exe, since linux doesn't know .exe files), and sometimes also library files (think of .dll files under windows) and those two can on their own be needing other libraries and executables (dependencies), located somewhere throughout the directory structures inside the distribution.
all in all, i would go for a HUGE / (root) partition, inside the root partition all the needed directories are created during installation, and i would make a separate /home partition to hold datafiles (e.g. documents, mp3's, jpg's, save games, backup of downloads (if not downloaded through the repositories) etc etc)
that way, if you ever need to reinstall, the /home data is preserved, and the / is reformatted and installed with the OS, i hope you get the idea. Just like in Windows a separate data partition for documents etc.. and a separate c:\ partition for the OS and installed software (programfiles stuff).
And if really needed a swap partition, equal 1,5 times the size of the actual ram size. (if lower than 1 gig)
a temp dir can be usefull, but not so much if you have a fast enough machine.