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()

        

  • 相关阅读:
    java基础语法
    MySQL5.7常用命令
    wireshark抓包分析---TCP/IP协议
    MySQL安全管理
    MySQL触发器
    MySQL存储过程和游标
    mysql实现远程登录
    Java中遍历Map对象的4种方法
    SSM-CRUD
    SSM整合-配置文件
  • 原文地址:https://www.cnblogs.com/gaoqichao/p/9121115.html
Copyright © 2011-2022 走看看