消息提醒-算法设计与分析.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
消息提醒-算法设计与分析

消息提醒 160320061 浦佳祺 2016-10-12 问题描述 小w的手机又n个app应用,手机会有三种类型的事件,第一种:app应用x产生了一条未读提醒信息。第二种:小w查看了app应用x的所有提醒信息。第三种:小w查看所有已产生的信息的前t条。 我们需要得到每个事件发生后手机上未读信息的数目。 对问题的理解和分析 对于情况一很好处理,只需要在消息列表里加上新增信息的说明。 对于情况二,我们需要把事件列表中的关于某个app的所有提示信息删除。 对于情况三,我们需要先从消息列表找出对应消息是否已读(比如被情况二),在考虑是否需要标记。 算法与数据结构的选取 算法设计: 根据前面的问题分析,我们看出每步操作都是独立的,所以我根据输入情况分成三种情况对应即可。 数据结构的选取: 我选择了数组来表示消息队列 选择一个向量数组来表示各个app应用消息队列 操作图示 1 2 1 5 4 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 3 情况一:插入消息事件的操作,插入3号app的未读信息 情况二:删除某个app的未读信息,删除1号app的未读信息 情况三:阅读前t个信息,阅读前5个信息 消息列表 app未读信息列表 核心代码 核心代码 算法复杂度分析 对于情况一:它需要在消息列表和对应app消息列表添加信息,用时O(1)。最多可能有n次。 对于情况二:它需要在app消息列表找出对应app消息并删除,因为用的是数组,用时O(1)。最多也可能有n次。 对于情况三:考虑每次读取前t个,而只有后一次的t大于前一次的t才会执行操作,并且只会读取两次t之间的位置。所以最多只能读取消息队列的总长度n,所以最多需要O(n)时间。而平均每个app下的未读信息为常数k个,所以用时需要O(n)。 综合起来时间为:

文档评论(0)

busuanzi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档