In a nutshell
A file's data is stored in fixed-size disk blocks, and there are three ways to keep track of which blocks belong to it. Contiguous puts them in one unbroken run — fast, but it leaves gaps as files come and go. Linked scatters them anywhere, each block pointing to the next — no gaps, but you can't jump to the middle. Indexed keeps one extra block listing all the others — fast jumps, at the cost of that index block.