# What are matroids and in what cases are they useful?

I came across the concept of matroids while studying up on the concept of greedy algorithms specifically The minimum spanning tree problem . I got this definition from Wolfram MathWorld:

Roughly speaking, a matroid is a finite set together with a generalization of a concept from linear algebra that satisfies a natural set of properties for that concept. For example, the finite set could be the rows of a matrix, and the generalizing concept could be linear dependence and independence of any subset of rows of the matrix.

Intuitively what does matroid help us to do ? Also what is meant by this example ? can some one please clarify ?

-