Permutation 和 Combination

概念上permutation的每一个答案的长度和字符串的长度是一样的。Combination的每一个答案是从0到字符串的长度。

Permutation对于“abc“这个字符串,画出树图,每一层选一个字符,下一层选上一层在“abc”中没有选的字符:
                         ""
            a           b            c
       ab   ac    ba  bc    ca  cb
  abc     acb  bac  bca  cab cba
答案是树图的最后一层,这个不是二叉树。属于generic树。

Combination对于每一个字符是选还是不选,画出树图,而且是二叉树:
                                   ""
                      ""                          a
               ""          b               a         ab
         ""      c     b     bc     a    ac  ab     abc
答案是树图最后一层。

所以觉得统计难是正常的。所以不用递归一样可以想。用BFS即可。
而且可以看出递归的第一行是树的最后一行。递归不仅implicitly装栈,而且含去重,装栈顺序和阅读顺序也不一样。
递归唯一的好处就是可以看一看树形结构。递归方程的数量代表树的child node的数量。
平时画图可以和字的意思相互照应。把root画在下面。而不是画出来了调软件rotate树。

#Java求职##笔经#
全部评论
感谢楼主分享,特别是图的部分,一定很用心了
1 回复 分享
发布于 2022-04-28 17:51

相关推荐

01-26 22:20
已编辑
门头沟学院 Java
Java抽象带篮子:项目很nb了,现在好好准备八股和算法吧,早点找实习,可以看看我的置顶帖子。帖子里写了怎么改简历,怎么包装实习经历,还有2个高质量可速成的项目话术,和我的牛客八股笔记专栏
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务