zoukankan      html  css  js  c++  java
  • Cartesian product

    A very simple algorithm. 

    print the cartesian product of n sets

    print_cartesian_product(list_of_sets): 

      out_set=set()

           print_cartesian_product(list_of_sets, out_set, 0)

    print_cartesian_product(list_of_sets, out_set, i):

      if i == len(list_of_sets):

        //We have gone to the last set, now print out one combination. 

        for e in out_set: print(e)

        return

      for x in list_of_sets[i]:

        out_set.insert(x)

        print_cartesian_product(list_of_sets, out_set, i+1)

        out_set.remove(x)

    Connection to print the combination number? 

    Given a list of n elements, print all the possible combinations of k selections. 

    //well, each element can either be selected or not selected, we can write the code similarly.

    print_combination(list_elements, k):

      out_list=[]

      print_combinations(list_elements, k, 0, out_list) 

    print_combinations(list_elements, k, cnt, out_list):

      if cnt==k:

        //we have arrived one combination, print

        for x in out_list: print(x)

        return

      for x in list_elements:

        out_list.append(x)

        print_combinations(list_elements, k, cnt+1, out_list)

        out_list.remove_last()

        

  • 相关阅读:
    MongoDB的C#驱动
    在C#使用MongoDB
    MongoDB 主从复制
    MongoDB 索引操作
    MongoDB 分片技术
    Mongodb 与sql 语句对照
    MongoDB命令使用示例
    MongoDB 高级操作
    MongoDB 细说增删查改
    MongoDB 运维技术
  • 原文地址:https://www.cnblogs.com/gaoqichao/p/9121115.html
Copyright © 2011-2022 走看看