C++

  //观察者类,它有一个符合我们上面定义的"委托"的方法

  //也就是void ShowTime(object obj,TimeEventArgs args)

  //从这个方法的定义可以看到,我们只会关心返回类型和方法的参数,而方法名称则无所谓

  class MyClassEventHandler

  {

  public void ShowTime(object obj,TimeEventArgs args)

  {

  Console.WriteLine("现在时间:"+args.Hour+":" + args.Minute + ":" + args.Second);

  }

  }

  //时钟类

  class Clock

  {

  //我们在这个类中定义了一个"TimeChanged"事件,注意其前面有两个关键字"event"和"TimeEventHandler"

  //其中event表示这是一个事件,而不是方法或属性,TimeEventHandler则指出,谁要监听TimeChanged事件,它就必须有一个符合TimeEventHandler(委托)的方法

  public event TimeEventHandler TimeChanged;

  public Clock()

  {

  //注意,这里的null的含义是指TimeChanged事件当前还没有观察者关注它

  //如果某个观察者要关注TimeChanged事件,它必须要让这个事件知道,方法是使用操作符"+="来借助委托将其加载到事件上

  TimeChanged = null;

  }

  //时钟开始走动,我们的目标是每秒钟触发一次TimeChanged事件

  public void go()

  {

  DateTime initi = DateTime.Now;

  int h1 = initi.Hour;

  int m1 = initi.Minute;

  int s1 = initi.Second;

  while (true)

  {

  DateTime now = DateTime.Now;

  int h2 = now.Hour;

  int m2 = now.Minute;

  int s2 = now.Second;

  if (s2 != s1)

  {

  h1 = h2;

  m1 = m2;

  s1 = s2;

  //首先建立一个TimeEventArgs对象来保存相关参数,这里是时分秒

  TimeEventArgs args = new TimeEventArgs(h2, m2, s2);

  //注意这种写法,这一句是用来触发事件,事件不是类,所以不用使用"new"关键字,而且我们看到,这里TimeChanged的两个参数跟我们的委托(TimeEventHandler)是一致的

  //其中第一个参数是触发这个事件的对象,我们这里使用的是一个时钟实例(this)

  TimeChanged(this, args);

  }

  }

  }

  }

  }

基于html+python+Apriori 算法、SVD(奇异值分解)的电影推荐算法+源码+项目文档+算法解析+数据集,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 电影推荐算法:Apriori 算法、SVD(奇异值分解)推荐算法 电影、用户可视化 电影、用户管理 数据统计 SVD 推荐 根据电影打分进行推荐 使用 svd 模型计算用户对未评分的电影打分,返回前 n 个打分最高的电影作为推荐结果 n = 30 for now 使用相似电影进行推荐 根据用户最喜欢的前 K 部电影,分别计算这 K 部电影的相似电影 n 部,返回 K*n 部电影进行推荐 K = 10 and n = 5 for now 根据相似用户进行推荐 获取相似用户 K 个,分别取这 K 个用户的最喜爱电影 n 部,返回 K*n 部电影进行推荐 K = 10 and n = 5 for now Redis 使用 Redis 做页面访问次数统计 缓存相似电影 在使用相似电影推荐的方式时,每次请求大概需要 6.6s(需要遍历计算与所有电影的相似度)。 将相似电影存储至 redis 中(仅存储 movie_id,拿到 movie_id 后还是从 mysql 中获取电影详细信息), 时间缩短至:93ms。 十部电影,每部存 top 5 similar movie 登录了 1-6 user并使用了推荐系统,redis 中新增了 50 部电影的 similar movie,也就是说,系统只为 6 为用户计算了共 60 部电影的相似度,其中就有10 部重复电影。 热点电影重复度还是比较高的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值