简单
技术面试0 次浏览

微软的搜索引擎需要对网页进行排序,假设我们有一个简单的网页排序规则:根据网页的访问量和页面质量得分来排序。请设计一个数据结构来存储网页信息,并实现一个排序函数。

微软中国算法工程师
数据结构排序网页信息

答题要点

推荐答题框架:使用分层分析法,先设计数据结构,再实现排序函数。关键要点如下:1. 数据结构设计:设计一个类来存储网页信息,包含网页 ID、访问量和页面质量得分。2. 排序规则:根据访问量和页面质量得分确定排序规则,可使用加权和的方式。3. 排序函数实现:使用 Python 的 sorted 函数,传入自定义的排序规则。4. 测试用例:编写测试用例验证排序函数的正确性。示例思路:定义一个 WebPage 类,包含网页的属性。然后实现一个排序函数,根据访问量和页面质量得分的加权和进行排序。例如: python class WebPage: def __init__(self, id, visits, quality_score): self.id = id self.visits = visits self.quality_score = quality_score def sort_pages(pages): return sorted(pages, key=lambda page: page.visits * 0.6 + page.quality_score * 0.4, reverse=True)