天天看點

回溯算法:分析1

class Program

{

static void Display(List<int> items)

foreach (var v in items)

Console.Write(v.ToString()+" ");

}

if (items.Count == 0)

Console.Write("null");

static void PowerSet(int i, List<int> list_A, List<int> list_B)

int e = 0;

if (i > list_A.Count)

Display(list_B);

Console.WriteLine("");

else

e = list_A[i - 1];

list_B.Add(e);

PowerSet(i+1,list_A ,list_B);

list_B.RemoveAt(list_B .Count-1);

static void Main(string[] args)

List<int> list_A = new List<int> { 1,2,3};

List<int> list_B = new List<int>();

PowerSet(1,list_A,list_B);

Console.ReadLine();

繼續閱讀