二路归并算法用于模块间增量更新
2015-10-10 09:22
267 查看
归并算法在现实编程中是一个比较重要且常用的算法。why?因为使用它可以简单高效地实现模块间的增量更新。
设想一下,我们有一个会议软件,在界面上有一个人员列表控件显示会议室成员姓名、状态等信息。如果不使用归并算法,当会议成员信息发生变化的时候,我们有两种方式来刷这个列表:1)使用粒度细的通知:XXX进入会议室;XXX更改状态为YYY;XXX更改名字为YYY……,这么做运行效率是高的,但是开发工作量大。2)使用粒度粗的通知:人员列表发生变化。然后人员列表控件清空原来的元素,重新构建一遍,这么做开发是轻松了,但是往往运行效率让人无法忍受。
使用归并算法后,我们就可以在使用粒度粗的通知的同时获得还可以的运行效率。是的,不如使用粒度细的通知那么高效,但一般也足够了。
设想一下,我们有一个会议软件,在界面上有一个人员列表控件显示会议室成员姓名、状态等信息。如果不使用归并算法,当会议成员信息发生变化的时候,我们有两种方式来刷这个列表:1)使用粒度细的通知:XXX进入会议室;XXX更改状态为YYY;XXX更改名字为YYY……,这么做运行效率是高的,但是开发工作量大。2)使用粒度粗的通知:人员列表发生变化。然后人员列表控件清空原来的元素,重新构建一遍,这么做开发是轻松了,但是往往运行效率让人无法忍受。
使用归并算法后,我们就可以在使用粒度粗的通知的同时获得还可以的运行效率。是的,不如使用粒度细的通知那么高效,但一般也足够了。
相关文章推荐
- 四种很相似的设计模式(State,Str…
- 中秋博饼概率
- 边遍历容器边删除容器元素——适用于…
- 如何将异步调用转换成同步调用
- 不用担心大Switch块的性能问题
- C++中如何split字符串
- 如何将同步调用转换成异步调用
- 尺度及仿射不变的Harris角特征点检测及匹配算法
- Zookeeper错误1_zookeeper Error contacting service. It is probably not running异常1
- HBase完全分布式
- poj3723Conscription
- Android开发之中文语音朗读
- 为何浮点数(float,double)不能直…
- 在Linux中创建静态库.a和动态库.so
- 如何解决多线程程序中的死锁问题
- 猜测文本/字符串编码的方式
- 如何使用系统默认浏览器打开QTextB…
- 使用c++实现时间轮算法(Timing-Wh…
- 简单判断图像格式的办法(BMP/JPEG…
- Interface(Java关键字)天然是接…