2500개 정도의 단어를 검색을해야 합니다(길이는 우후죽순입니다.) 이때 배열을 이용해서 해야 할지 linked list로 해야할지 모르겠습니다. add del은 없습니다. 오로지 find만 존재합니다.
그래서 배열로 하는게 속도상의 이득은 볼꺼 같은데,
고수님들의 조언도 듣고 싶습니다.
조언 부탁 드립니다.!!
추가 삭제가 없다면 당연히 배열이 유리하죠. 연결 리스트만으로는 이진 탐색이 어렵습니다. 문자열 길이가 가변적이라면 2차원 배열을 이용하시면 될 것 같네요.
배열을 사용하고, 정렬후 이진탐색이 좋을 것 같습니다.
Orion Project : http://orionids.org
배열에 이진탐색도 좋습니다. 그리고 경우에 따라선 해시테이블도 괜찮습니다. 추가나 삭제가 없다면 해시함수를 미리 collision 없도록 만들어두면 효율이 좋을 듯합니다. 물론 그게 가능한 상황인지는 선택하셔야 겠지요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
추가 삭제가 없다면
추가 삭제가 없다면 당연히 배열이 유리하죠.
연결 리스트만으로는 이진 탐색이 어렵습니다.
문자열 길이가 가변적이라면 2차원 배열을 이용하시면 될 것 같네요.
배열을 사용하고, 정렬후 이진탐색이 좋을 것 같습니다.
Orion Project : http://orionids.org
배열에 이진탐색도
배열에 이진탐색도 좋습니다. 그리고 경우에 따라선 해시테이블도 괜찮습니다. 추가나 삭제가 없다면 해시함수를 미리 collision 없도록 만들어두면 효율이 좋을 듯합니다. 물론 그게 가능한 상황인지는 선택하셔야 겠지요.
댓글 달기