笛卡尔乘积算法的体现

一个商品有多项属性,多项属性的组合就产生不同的商品型号如:
衣服:
    颜色:红、绿
    尺寸:大、中、小

产生的系列就有:红|大、红|中、红|小、绿|大、绿|中、绿|小
如果商品的属性不至两个,则产生的系列会更多, A|B|C|D......
其实这是一个笛卡尔的乘积
绿
红|大绿|大
红|中绿|中
红|小绿|小

如果再多一个属性(衣料): 绵、布、锦 ,也可以与上面的结果相乘,得

红|大红|中红|小绿|大绿|中绿|小
红|大|绵红|中|绵红|小|绵绿|大|绵绿|中|绵绿|小|绵
红|大|布红|中|布红|小|布绿|大|布绿|中|布绿|小|布
红|大|锦红|中|锦红|小|锦绿|大|锦绿|中|锦绿|小|锦

这样就算有再多的属性也可以随机生成结果,以下的实现的代码:
ExpandedBlockStart.gifContractedBlock.gif        /**//// <summary>
InBlock.gif        
/// 获取商品属性组合后的列表
InBlock.gif        
/// </summary>
InBlock.gif        
/// <param name="attrList">属性列表数组,数组内的成员以‘|’分隔</param>
ExpandedBlockEnd.gif        
/// <returns>返回属性组合后的列表</returns>

None.gif        private static IList<string> GetProductModelList(IList<string> attrList)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            IList
<string> productArray = new List<string>(attrList[0].Split('|'));
InBlock.gif
InBlock.gif            
for (int i = 1; i < attrList.Count; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                productArray 
= JoinPart(productArray, attrList[i].Split('|'));
ExpandedSubBlockEnd.gif            }

InBlock.gif            
return productArray;
ExpandedBlockEnd.gif        }

None.gif
None.gif        
//笛卡尔乘积
None.gif
        private static IList<string> JoinPart(IList<string> part1, string[] part2)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            IList
<string> result = new List<string>();
InBlock.gif            
foreach (string str1 in part1)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
foreach (string str2 in part2)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    result.Add(str1 
+ "|" + str2);
ExpandedSubBlockEnd.gif                }

ExpandedSubBlockEnd.gif            }

InBlock.gif            
return result;
ExpandedBlockEnd.gif        }

转载于:https://www.cnblogs.com/ghx88/archive/2007/01/29/633655.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

知识图谱基础

本系列是学习七月算法知识图谱课程的笔记。感觉自己完全就是一个托儿。前面七月算法机器学习&#xff0c;七月算法深度学习的笔记。现在又来了知识图谱课程的笔记。 文章目录1 why知识图谱2 知识图谱前世今生3 知识图谱相关技术4 知识图谱应用案例1 why知识图谱 没有知识图谱&…

第一百二十六期:代码以外的生存之道,献给每位入了坑的码农

本篇内容主要是对这本书的一个总结概括&#xff0c;也希望能用作抛砖引玉&#xff0c;让读者在看完之后&#xff0c;对这本书有所兴趣&#xff0c;或者希望能让读者对代码以外的需要做的事情更加积极明朗一点。 作者&#xff1a;码农三哥 前言 最近刚刚读完了一本书&#xf…

DataDirectory是什么?

asp.net 2.0有一个特殊目录app_data,通常Sql server 2005 express数据文件就放在这个目录&#xff0c;相应的数据库连接串就是&#xff1a;connectionString"…… data source.\SQLEXPRESS;Integrated SecuritySSPI;AttachDBFilename|DataDirectory|data.mdf;User Instanc…

【UOJ 51】最接近神的人

【题目描述】&#xff1a; 破解了符文之语&#xff0c;小FF开启了通往地下的道路。当他走到最底层时&#xff0c;发现正前方有一扇巨石门&#xff0c;门上雕刻着一幅古代人进行某种活动的图案。而石门上方用古代文写着“神的殿堂”。小FF猜想里面应该就有王室的遗产了。但现在的…

知识图谱存储与搜索

本系列是学习七月算法知识图谱课程的笔记 知识图谱存储是一个技术活。根据数据量以及关系复杂程度可能会选择不同的介质。课程里面直接用了neo4j。 讲了neo4j安装、语法、建库、添加数据、导入数据、查询数据。 最后讲了在应用中的一些高级查询。例如朋友圈检测、欺诈团检测。…

第一百二十七期:程序员41岁创业逆袭成全美最受欢迎CEO,公司市值近200亿美金

袁征&#xff08;Eric Yuan&#xff09;在国内鲜为人知&#xff0c;却在硅谷的商业世界&#xff0c;创造了华人新的可能性——带领公司成功上市&#xff0c;成为全美国上市公司当中、美国面向全球的企业里估值最高的华人CEO。 作者&#xff1a;新芽NewSeed 导语&#xff1a;袁…

老生常谈的思考

其实这些话题还都是老生常谈的话题了&#xff0c;经常在我的博客上面说这些东西。最近一段时间来我确实比较痛苦&#xff0c;在人生最迷茫的时候经历一场感情风波&#xff0c;可能让我这个人有些显得颓废崩溃。这段时间谢谢温温等其他一些博客园好友的宽慰&#xff0c;劝解&…

词汇挖掘与实体识别(未完)

文章目录1 概述2 词汇挖掘2.1 关键词提取2.1.1 基于特征统计2.1.2 基于主题模型2.1.3 Text-Rank算法提取2.2 同义词挖掘2.2.1 同义词类型2.2.2 挖掘2.3 缩略词挖掘2.4 新词挖掘3 实体识别(NER)3.1 基于概率图模型3.2 基于深度学习1 概述 实体&#xff1a;是文本中的一些词汇或…

第一百二十八期:推荐几个IDEA插件,Java开发者撸码利器,你get到了吗

一款热部署插件&#xff0c;只要不是修改了项目的配置文件&#xff0c;用它都可以实现热部署。收费的&#xff0c;破解比较麻烦。不过功能确实很强大。 作者&#xff1a;编程届java员 JRebel for IntelliJ 一款热部署插件&#xff0c;只要不是修改了项目的配置文件&#xff…

jeecg流程梳理学习

jeecg 流程梳理 角色admin 管理员 fgld学校分管领导 bgs学校办公室 xbld系部领导 xbky系部科员jxky bmld部门领导 发文申请applyUserIdadmin${assigneeUserId} 并行cgAutoListController.do?list&idjfrom_huiq顺会签cgAutoListController.do?list&idsx_huiqian 加班申…

lighttpd,thttpd,shttpd - 轻量级WebServer介绍

lighttpd,thttpd,shttpd - 轻量级WebServer介绍 lighttpd,thttpd,shttpd - 轻量级WebServer介绍 Filed under: lighttpd, Web Server, thttpd — allen 8:27 pm 转自 Zhiqiang::He 博客. 国内绝大部分的web server不是IIS就是Apache&#xff0c;而论市场占有率&#xff0c;我认…

spring mvc学习(35):restful的put

创建maven项目就不说了&#xff0c;需要的找我前面的博客 pom.xml文件 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http…

一、词向量模型

因为计算机不能理解词语&#xff0c;所以我们需要用词向量表示一个词。 词向量有一个发展历程&#xff1a;从one-hot到word embedding。 1 one-hot 设词典的大小为n&#xff08;词典中有n个词&#xff09;&#xff0c;假如某个词在词典中的位置为k&#xff0c;则设立一个n维向…

【广告】我妹妹导演的毕设——数字传媒摄影作品

我妹妹涂华思宇导演的作品&#xff0c;也是她的本科毕业设计&#xff5e; https://www.xinpianchang.com/a10452218 欢迎各位点击&#xff01; 涂华思宇,initiated四川文化艺术学院 2019/6/30 tz,postedcroplab,HZAU 2019/7/16转载于:https://www.cnblogs.com/acm-icpcer/p/111…

spring mvc学习(36):jstl的jar包的下载

1. 我们在使用spring框架的时候导入jstl标签库需要使用到jstl的jar包&#xff0c;假如没有加入到eclipse的lib目录下&#xff0c;使用alt /的时候不会有提示&#xff0c;所以我们需要把这个jar包加进来 首先登陆网址&#xff1a;http://tomcat.apache.org/taglibs/ 找到下面的…

同学的QQ群上

这是去年5月25日事情&#xff0c;现在看着还挺逗 一个新上任的管理员突然很郁闷发言说道“还没踢过人呢&#xff0c;哪个同学能让我踢一下&#xff1f;”立即有2个响应者&#xff0c;这2个同样是管理员&#xff0c;但也同样没有踢过人的经验&#xff0c;对此极感兴趣。于是遍寻…

二、语言模型

文章目录1 语言模型2 语言模型评价指标&#xff1a;Perplexity3 基于神经网络的语言模型3.1 RNN3.2 LSTM3.3 GRU4 优化函数5 模型代码6 用途与评价1 语言模型 语言模型的任务是判断一句话出现的概率&#xff08;也就是说一句话是不是人说的&#xff09;&#xff0c;可以表示为…

spring mvc学习(37):JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)

EL表达式和JSTL标签库: 在JSP页面代替java代码,便于编写 一.EL表达式 作用: ${} 简化脚本表达式 <% %> j2ee1.4以前版本需指定<% page isELIgnored"false"> j2ee1.4以后版本默认支持EL表达式 1.EL内置对象 EL内置11个对象,不需定义可直接使用 pageS…

[计划]二〇〇七年年度计划

2007年终于到了&#xff0c;同时也是我们该规划这一年的时候了。不虚度此生&#xff0c;就从现在开始&#xff01; 完成去年计划中的研究生入学考试&#xff1b; 完善目前的"智能英语单词学习"项目&#xff1b; 完成"博客管理系统"项目&#xff1b; 完成&…

DM入门之Apriori小结

Apriori算法&#xff1a;使用候选项找频繁项集Apriori算法是关联分析中一种基本算法&#xff0c;用于挖掘布尔关联规则频繁项集。原理&#xff1a;利用频繁项集的先验知识&#xff0c;使用逐层搜索的迭代方法&#xff0c;使用k项集探索(k1)项集。这里先看哈二维Apriori算法。&a…