算法导论练习1.2

1.2-1 给出一个实际应用的例子,它在应用这一层上要求有算法性的内容,讨论其中涉及算法的功能。

  淘宝搜索商品功能,涉及到排序算法和查找算法。排序算法需要的信息很多,如:

  • 文本相关性
  • 类目热点
  • 图片质量(这个怎么用电脑比较?)
  • 商品质量(商品描述的真实性、性价比、受欢迎程度、点击率等)
  • 作弊因子(重复开店、关键词堆砌、挂广告等,需要利用统计分析或者机器学习来做异常行为规律的发现和识别并应用到排序中)
  • 公平因子(淘宝商品很丰富,一个关键词就有多个商品竞争,需要在相同质量的情况下让更多的商品和卖家有展示的机会。而不是静态排序,)

参考:

淘宝搜索算法现状:https://www.cnblogs.com/jc535201285/p/6491535.html

剖析淘宝网商品搜索引擎算法:https://wenku.baidu.com/view/9d1b69d12f3f5727a5e9856a561252d380eb209b.html

1.2-2 假设我们要比较同一台计算机上插入排序和合并排序的实现,对于规模为n的输入,插入排序要运行8n^2步,而合并排序要运行64nlgn步。当n取怎样的值时,插入排序的性能优于合并排序?

  8n^2 < 64nlogn 》》n<43

1.2-3 对于一个运行时间为100n^2的算法,要使其在同一机器上,比一个运行时间为2^n的算法运行时间更快,n的最小值是多少?
            int n = 10;

            while(100*Math.Pow(n,2)>Math.Pow(2,n))
            {
                n++;
            }
            Console.WriteLine(n);

  100n^2<2^n》》n>15

  

第9,10,11天 翻译 朗读 复制 正在查询,请稍候…… 重试 朗读 复制 复制 朗读 复制 via 谷歌翻译(国内)

猜你喜欢

转载自www.cnblogs.com/decade2019/p/12744017.html