fix logical error in topological sort

update conditions for push and pop
update unit test\pass test of big input
merge branch 'topic'

update README.md file