作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] 提昇搜寻的效率
时间Tue Jun 18 13:36:26 2013
※ 引述《sudada (叽咕叽咕叽咕)》之铭言:
: 各位好
: 最近遇到一个sorting的问题
: 假设我有一个List里面放我自订的class
我假设你说的是 java.util.List
: 他必须是个排序好的状态
: 但是每次有新增或更新资料 我都必须取得那笔资料的index
: 而且使用上get range的使用机率应该会比insert高一点
^^^^^^^^^^
看不懂 @_@
: 目前我有两种想法
: 第一
: 每次丢资料进去都call一次sort
: 不过这样没办法直接知道我刚刚新增的那笔资料
: 到底会被丢到哪里去
: 所以sort完以後还要再抓一次index?
: 这种方法我觉得完全不可行......
为什麽完全不可行?
sort 完之後的 search 不会多花时间阿?
或着说,如果真的很花时间
那你应该先担心记忆体爆掉吧?
: 第二
: 跑回圈用自己的compare方式找到适当的位置
: 直接call insert
: 这样"感觉上"快很多
: 但是问题出在用List的资料结构的话
: 每次都必须从头开始 cost应该是O(n)?
: 如果要改进这里势必要改资料结构
: 用binary tree又怕会影响整体get的效能
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
这个「害怕」的来源我也不是很懂
但是你不解事,那我们要如何替你(键盘)取舍?
整个需求(在我脑补之後)看起来用 tree 很合理阿?
: 想请问大家会怎麽取舍
: 谢谢
演算法我不是很懂(招换某 t)
我只知道「肮脏事不灭法则」
也就是说,该做的事情就是那些
用了快乐的演算法可能会快一点,但是还是得作那些事情
另外,你可能得把你的需求说得更明确一点
光凭这些... 我觉得我看不太懂,也没办法开始算命 [死]
====
我先承认我是来混文章数的 [逃]
--
钱锺书:
说出来的话
http://www.psmonkey.org
比不上不说出来的话
Java 版 cookcomic 版
只影射着说不出来的话
and more......
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.34.226.85
1F:→ tkcn:输两秒.... 我以为这篇会没人回的说 06/18 13:37
2F:→ PsMonkey:早知道你会回我就不写了 [泪目] 06/18 13:38
3F:→ Schelfaniel:为何这篇会有 S ? 06/18 13:38
4F:→ PsMonkey:因为版主也觉得这是来混文章数的 [盖章][逃] 06/18 13:39
5F:→ fireslayer:sort就N log N太慢吧 每次都要重新sort 06/18 16:53
6F:推 if4:S 跟 ! 有什麽区别呀? 06/21 19:10
7F:→ s3748679:一个是警告 一个是锁文吧 06/21 23:12
8F:→ PsMonkey:一个是 s、一个是 sm [娇羞] 06/21 23:12