首页 >后端开发 >php教程 > 组词算法的思路

组词算法的思路

WBOY
WBOY原创
2016-06-13 13:26:241423浏览

求一个组词算法的思路
有一个组词的需求,请大家帮忙看下,要求如下:

给定一组词,每行一个,如:

裤子
牛仔
纯棉
低腰
加肥

用上面的词组成下面的格式

裤子
牛仔
纯棉
低腰
加肥
裤子牛仔
裤子纯棉
裤子低腰
裤子加肥
裤子牛仔纯棉
裤子牛仔低腰
裤子牛仔加肥
裤子牛仔纯棉低腰
裤子牛仔纯棉加肥
裤子牛仔纯棉低腰加肥
牛仔纯棉
牛仔低腰
牛仔加肥
牛仔纯棉低腰
........

这样依次类推一层一层的组词。

求一个这个需求的算法思路。

------解决方案--------------------
很简单的一个组合问题, 每个词语可选/可不选, 递归跑一下就行了.
------解决方案--------------------
排列组合,是你要的结果么?

PHP code
$arr=array('裤子','牛仔','纯棉','低腰','加肥');
for($i=1,$count=count($arr);$i Array
        (
            [0] => 裤子
            [1] => 牛仔
            [2] => 纯棉
            [3] => 低腰
            [4] => 加肥
        )

    [2] => Array
        (
            [0] => 裤子牛仔
            [1] => 裤子纯棉
            [2] => 裤子低腰
            [3] => 裤子加肥
            [4] => 牛仔纯棉
            [5] => 牛仔低腰
            [6] => 牛仔加肥
            [7] => 纯棉低腰
            [8] => 纯棉加肥
            [9] => 低腰加肥
        )

    [3] => Array
        (
            [0] => 裤子牛仔纯棉
            [1] => 裤子牛仔低腰
            [2] => 裤子牛仔加肥
            [3] => 裤子纯棉低腰
            [4] => 裤子纯棉加肥
            [5] => 裤子低腰加肥
            [6] => 牛仔纯棉低腰
            [7] => 牛仔纯棉加肥
            [8] => 牛仔低腰加肥
            [9] => 纯棉低腰加肥
        )

    [4] => Array
        (
            [0] => 裤子牛仔纯棉低腰
            [1] => 裤子牛仔纯棉加肥
            [2] => 裤子牛仔低腰加肥
            [3] => 裤子纯棉低腰加肥
            [4] => 牛仔纯棉低腰加肥
        )

    [5] => Array
        (
            [0] => 裤子牛仔纯棉低腰加肥
        )

)*/
<br><font color="#e78608">------解决方案--------------------</font><br>组合问题,可参考<br>
PHP code

/**C(M,N) recursive*/
function C($m,$n)
{
        if( $n 
                 
              
              
        
            
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn