美文网首页
关于全排列递归问题

关于全排列递归问题

作者: 全汪汪 | 来源:发表于2018-03-17 22:30 被阅读0次

    今天在看一个朋友做笔试,其中有一道题,假设有abcd字母,求其全排列有多少种。

    一看到这个我俩第一反应:我们做过,老师教过!然并卵,虽然模糊的记得一点,但也不知所措,一脸懵逼。

    于是我开始看了一下百度的答案,嗯,还行,但是代码为什么那么实现,我觉得就算我们知道了原理也很难实现出来。

    详情请看:http://blog.csdn.net/summerxiachen/article/details/60579623

    经过一番思考,我觉得我们解决的不是这道题的编码,而是对这类题的统一解决方法。

    首先我们必须知道什么是递归,百度一下,全是一脸懵逼,但是经过这道题的思考,我得出递归的定义:在一定条件下不断重复着一件重复的事情。

    所以我们首先要确定那件重复的事情是什么,以及那个一定条件是什么。

    这题很明显,重复的事情就排序(如果你没搞清楚如何排序,那就先搞清楚,弄明白重复的部分,不然怎么弄都不会懂),而一定条件就是指字符序号。

    这道题的基本思路是,在字符最大编号的范围内,用遍历的方式把不同的字母当作开头,排完该字母的所有排序后,再更换头字母。然后不断的重复下去。

    这就就迎刃而解,具体题目的操作在上面的链接有。

    相关文章

      网友评论

          本文标题:关于全排列递归问题

          本文链接:https://www.haomeiwen.com/subject/porsqftx.html