同:两种算法都需要多层循环嵌套,当数据量比较大的时候,使用for循环就非常困难了,因此,他们都需要通过回溯算法来解决;本层使用过的数据不能再使用相同值的数据。
异:组合中题目中可能会有要求数组中有没有重复的数,这个时候组合中不同层就可能出现相同的数字,而对于排列来说,一旦数组中有重复的数,那么一定存在不同层出现相同数据;组合中for循环的初始值需要改变,排列中for循环初始值始终为0;在组合中,需要的结果可能是树的叶子节点也可能是每个节点,而排列一定是叶子节点,因此一定要好好审题,了解题目需要的是什么。