专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

怎么算根结点_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 22:22:02       共计:3605 浏览

怎么算根结点?

可以用二叉树来实现。

二叉树的根结点就是始发站,所以根结点的值为零,始发站算第零站。

根结点下有两个结点,其值分别为1和2,代表从始发站出发有两种可能停靠方案,分别是停在第一站或者第二站。之所以是二叉树,无论停在哪一站,下一站的停靠方案只有这两种可能。

值为1的结点下面也有两个结点,分别是2和3;而值为2的结点下面的两个结点值分别为3和4。

我们的目的,就是把这棵二叉树填满,所谓填满,就是指从这棵二叉树的根结点出发,沿着所有可能路径向下走,最终的那个结点值必然是n。

所以,所有可能路径就是所有方案,而最终结点数就是方案数。

要填满这棵二叉树可以用递归算法实现,当然,如果程序可以并发的话就更快了!所以推荐用Go来做……n太大的话,python可能会慢一点。

PS、如果编程只是为了算路径数,这完全是多此一举,因为这个答案简直不要太容易……只要你在草稿纸上把这棵二叉树画出来,就会发现这棵二叉树很规律,最终结点是斜向上的……路径数可以通过归纳得到,并不需要编程。

真正需要编程得到的,是所有路径,这可以通过对该二叉树进行遍历得到。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:英语a级高频短语及用法_数据库 | ·下一条:遍历二叉树是否需要用到线性表_java

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有