• 在二元树中找出和为某一值的所有路径


    (回溯算法)

     1 typedef struct BiTNode
     2 {
     3   int data;
     4   BiTNode * lchild;
     5   BiTNode * rchild;
     6 }BiTNode, * BiTree;
     7 
     8 void Function( BiTree T, int sum )
     9 {
    10   int path[ MAXSIZE ];
    11   FindPath( T, sum, path, 0 );
    12 }
    13 
    14 void FindPath( BiTree P, int sum, int path[], int top )
    15 {
    16   if( p )
    17   {
    18     sum -= P->data;  //sum按值传递
    19     if( sum == 0 )
    20     {
    21       path[ top++ ] = P->data;
    22       print( path, top );   //打印path数组top前的元素。top也是按值传递
    23     }
    24     else if( sum > 0 ) 
    25     {
    26       path[ top++ ] = p->data;
    27       FindPath( P->lchild, sum,  path, top );
    28       FindPath( P->rchild, sum,  path, top );
    29     }
    30   }
    31 }
  • 相关阅读:
    topk 问题 --转载
    MySQL是否使用外键
    MySQL的事务隔离---总结和转载
    MySQL设计规范--转自腾讯云社区
    docker图解--转载
    单点登录soo-转载
    在linux上配置后端所需的内容
    推荐一个计算机漫画地址
    python与mysql数据库连接中常见错误
    python_excel_读写(转载)
  • 原文地址:https://www.cnblogs.com/kevinGaoblog/p/2432099.html
Copyright © 2020-2023  润新知