当前位置: 代码迷 >> ASP.NET >> 怎么查找用户相关性.求思路或代码.多谢!
  详细解决方案

怎么查找用户相关性.求思路或代码.多谢!

热度:5732   发布时间:2013-02-25 00:00:00.0
如何查找用户相关性......求思路或代码...谢谢!!!
例如:用户1 选择的产品: 1,3,5,7
  用户2 选择的产品: 2,4,5,6
  用户3, 选择的产品 1,3,4,7

通过什么方法可以判断出 用户1,用户3 是相关的。因为他们选择了3个相同的产品。,只要三个或三个以上相同的产品两个用户就是相关的。



------解决方案--------------------------------------------------------
字符串匹配之类的问题
------解决方案--------------------------------------------------------
C# code
 class Program    {        static void Main(string[] args)        {            List<ArrayList> li = new List<ArrayList>();            li.Add(new ArrayList() {"用户1","1","3","5","7" });            li.Add(new ArrayList() { "用户2", "2", "4", "5", "6" });            li.Add(new ArrayList() { "用户3", "1", "3", "4", "7" });            li.Add(new ArrayList() { "用户4", "1", "2", "5", "7" });            li.Add(new ArrayList() { "用户5", "1", "3", "5", "7" });            List<string[]> li_N = new List<string[]>();            for (int i = 0; i < li.Count; i++)            {                for (int j = i+1; j < li.Count; j++)                {                    bool fg = GetRelationName(li[i], li[j]);                    if (fg)                    {                        li_N.Add(new string[] { li[i][0].ToString(), li[j][0].ToString() });                        //看看结果                        Console.Write(li[i][0].ToString() + "与" + li[j][0].ToString() + "有关系\r\n");                    }                }            }            Console.Read();        }        //比较数组        static bool GetRelationName(ArrayList li1,ArrayList li2)        {            int flag = 0;            for (int i = 1; i < li1.Count; i++)            {                if (flag <= 3)                {                    for (int j = 1; j < li2.Count; j++)                    {                        if (li1[i] == li2[j])                        {                            flag++;                        }                    }                }                else                    break;            }            if (flag == 3)                return true;            else                return false;         }    }
------解决方案--------------------------------------------------------
LZ,你这是个大课题……
参考:推荐引擎
  相关解决方案