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