// Algorithm inputs 2-hop neighbors of node . |

**if** the node has only 1 incident edge **then** the edge (, ) is a bridge (*Rule 1*). |

**else if** the node has at least one cross edge **then** the edge (, ) is not a bridge (*Rule 2*). |

**else if** the edge (, ) is the only edge connecting node to lower levels and all other edges are bridges |

**then** the edge (, ) is a bridge (*Rule 3*). |

**else if** one of node ’s children has a cross edge connecting to node where node ’s parent is not |

and id of one of node ’s children **then** the edge (, ) is not a bridge (*Rule 4*). |

**else if** all neighbors of node 's children are also children of node **then** the edge (, ) is a bridge (*Rule 5*). |

**end if**. |

**if** one of these rules are applied **then** return true. |

**else** return false. |

**end if**. |