最近通过做数据结构试题,出现了很多求树的结点个数。下面总结一下求结点算法:
已知一课度为k的树有n1个度为1的结点,n2个度为2的结点,n3个度为3的结点,…,nk个度为k的结点。则求总结点和叶节点(度为0)个数
设共有N个结点,N-1条边(因为树中边和结点的关系为:结点数=边数+1),X个叶子结点,则有:
N=X+@H_404_102@1+2+3+@H_404_102@…+k (必须是存在的度)
N-1=0@H_404_102@*X+1@H_404_102@*n1+2@H_404_102@*n2+3@H_404_102@*n3@H_404_102@+…+k*nk
@H_404_102@ X=(1@H_404_102@*n1+2@H_404_102@*n2+3@H_404_102@*n3@H_404_102@+…+k*nk)@H_404_102@-(@H_404_102@1+2+3+…+k)
愿对您有所帮助~
原文链接:https://www.f2er.com/datastructure/382452.html