A simple greedy algorithm to find a maximal independent set, I think it will take O(n) time since no vertex will be visited more than twice. Why wiki said it would take O(m) time?
Greedy(G)
while G is not empty (visited V in an arbitrary order)
mark v as IS and v's neighbors as Non-IS
return all IS vertices