yefei 发表于 2013-2-4 22:05:13

高效率的全组合算法

最近发现论坛上关于全组合的问题挺多的,写出了自认为效率比较高的算法,拿出来给大家评评:C# code <!---->      static string[] m_Data = { "A", "B", "C", "D", "E" };         static void Main(string[] args)      {            Dictionary<string, int> dic = new Dictionary<string, int>();            for (int i = 0; i < m_Data.Length; i++)            {                Console.WriteLine(m_Data);//如果不需要打印单元素的组合,将此句注释掉                dic.Add(m_Data, i);            }            GetString(dic);            Console.ReadLine();      }      static void GetString(Dictionary<string,int> dd)      {            Dictionary<string, int> dic = new Dictionary<string, int>();            foreach (KeyValuePair<string, int> kv in dd)            {                for (int i = kv.Value + 1; i < m_Data.Length; i++)                {                  Console.WriteLine(kv.Key + m_Data);                  dic.Add(kv.Key + m_Data, i);                }            }            if(dic.Count>0) GetString(dic);      }
页: [1]
查看完整版本: 高效率的全组合算法