Yet another try to implement abstract data type to represent weighted graph and some operation on it.