def __init__(self, adj_train, node_train, size_subgraph, size_frontier, max_deg=10000):
        """
        Inputs:
            adj_train       see super-class
            node_train      see super-class
            size_subgraph   see super-class
            size_frontier   int, size of the frontier during sampling process. The
                            size of the frontier is fixed during sampling.
            max_deg         int, the sampler picks iteratively pick a node from the
                            frontier by probability proportional to node degree. If
                            we specify the `max_deg`, we are essentially bounding the
                            probability of picking any frontier node. This may help
                            with improving sampling quality for skewed graphs.

        Outputs:
            None
        """
        self.p_dist = None
        super().__init__(adj_train, node_train, size_subgraph, {})
        self.size_frontier = size_frontier
        self.deg_train = np.bincount(self.adj_train.nonzero()[0])
        self.name_sampler = 'MRW'
        self.max_deg = int(max_deg)
        self.cy_sampler = cy.MRW(
            self.adj_train.indptr,
            self.adj_train.indices,
            self.node_train,
            NUM_PAR_SAMPLER,
            SAMPLES_PER_PROC,
            self.p_dist,
            self.max_deg,
            self.size_frontier,
            self.size_subgraph
        )

        Inputs:
            adj_train       see super-class
            node_train      see super-class
            size_subgraph   see super-class
            size_frontier   int, size of the frontier during sampling process. The
                            size of the frontier is fixed during sampling.
            max_deg         int, the sampler picks iteratively pick a node from the
                            frontier by probability proportional to node degree. If
                            we specify the `max_deg`, we are essentially bounding the
                            probability of picking any frontier node. This may help
                            with improving sampling quality for skewed graphs.

        Outputs:
            None
        
graphsaint/graph_samplers.py