CC++ 知识回顾比较二叉树、拓扑排序

    xiaoxiao2021-03-25  115

    1.比较两个二叉树是否相等

    typedef struct TreeNode { char c; struct TreeNode *leftChild; struct TreeNode *rightChild; }; //比较两颗二叉树是否相等 //此处相等定义为:A->c==B->c,而且A和B的左右子树对应相等或者左右互换后相等 bool CompTree(TreeNode * tree1, TreeNode * tree2) { if (tree1==NULL) { if (tree2!=NULL) { return false; } else { return true; } } else { if (tree2==NULL) { return false; } } if ((tree1->c!=tree2->c)) { return false; } else { return CompTree(tree1->leftChild, tree2->leftChild) && CompTree(tree1->rightChild, tree2->rightChild)|| CompTree(tree1->leftChild,tree2->rightChild)&&CompTree(tree1->rightChild,tree2->leftChild); } } 2.拓扑排序算法的思想

    (1)选区图中入度为0的结点,输出该结点

    (2)并将所有与该结点的边都删除

    (3)重复执行前两步,只到所有的结点都被输出

    转载请注明原文地址: https://ju.6miu.com/read-16735.html

    最新回复(0)