我一直试图理解编程语言中的递归/递归,并且我选择使用python,因为它是我最了解的语言。我已尝试解决以下问题 -
鉴于三个不同的元素列表,找到某个人在购物日期间所遵循的所有可能模式。
解释
purchases = [[money_spent, time0], [money_spent, time1], [money_spent, time3]]
time_between_shops = [[time_to_self, time_to_shop2, time_to_shop3, time_to_shop4],
[time_to_shop1, time_to_self, time_to_shop3, time_to_shop4],
[time_to_shop1, time_to_shop2, time_to_self, time_to_shop4],
[time_to_shop1, time_to_shop2, time_to_shop3, time_to_self]]
list_of_products = [["shop1", {"product1": price_of_product1, "product2": price_of_product2}],
["shop2", {"product3": price_of_product3, "product4": price_of_product4, "product5": price_of_product5}],
["shop3", {"product6": price_of_product6}],
["shop4", {"product7": price_of_product7}]]
在这些列表中,购买按其时间(最早到最晚购买)排序,并且商店在list_of_products中具有与time_between_shops中相同的索引。商店之间的时间可以相同,但是从商店A到商店B的时间可以与从商店B到商店A的时间不同。给定的时间是以分钟为单位,其中0是0:00和1439年是23:59。
鉴于这些信息,我知道如何以常规方式解决这个问题,但是我需要使用递归方法来获得所有可能性。我已经阅读了递归方法,所以我知道它们代表什么,当我看到它时我能理解它的作用和工作方式,但是当我自己创建递归方法时,我就迷失了自我总是回到常规方法。
那么我应该如何解决这个问题,以便使用递归而不是常规方法来解决它?