《算法图解》读书笔记

  1. 关于分地问题
    1. 就是给定一个x*y的一块矩形的土地,求你怎么把它分成一块一块形状大小相同的正方形土地,使得得到的土地面积争取最大。
    2. 这个问题与求两个数x、y最大公约数的问题相似。
    3. 设x为较大的一条边,则通过无限次计算x , y = y, x%y,直到x%y=0为止,此时就得到了可分成的最小土地的边长y
    4. 如一个长为1680,宽为640的土地,计算过程如下
      • x=1680 y =640
      • x=640 y=1680%640 =400
      • x=400 y=640%400=240
      • x=240 y=400%240=160
      • x=160 y=240%160=80
      • 此时x%y=160%80=0 故停止
      • 最小土地的边长是80
  2. 缓存技术的应用
    1. 优点
      • 用户能够更快地看到网页,服务器记住了用户常用的信息,下次用户申请使用时,不用再计算,而是直接从缓存中取出,显示给用户,减少了很多时间。
      • 服务器需要做的工作更少了,减轻了服务器负担。
    2. 缓存的数据通常存储在散列表中,服务器不仅缓存主页内容,还缓存其它页面的,故可通过url在散列表中的映射,找到相应的缓存数据。
  3. KNN(K最近邻算法)
    1. 对样本的特征进行提取,通过比较计算,将距离最近的归为一类,或称为相似样本。
    2. 计算两点间距离,可使用毕达哥拉斯公式:
    3. 可应用于如电影推荐,通过对用户分析,其对不同种类电影的喜欢程度为各个特征向量,通过计算他与其他用户的“距离”,可以找到跟他相似的人群,看这些相似人群喜欢什么电影,就可以给这个用户推荐什么电影。当然也可用于评分预测,比如可以将这些相似用户打的平均分当做该用户的打分。
    4. 故有3可知,KNN可用于分类和预测的问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值