Q&A

  • 문자열에서 원하는 데이타를 가장 빨리 검색하는 방법은?
약 10K정도 되는 문자열버퍼에서 원하는 데이타가 있는데
그 데이타를 가장 빠른 방법으로 추출해내고 싶습니다
현재는 Pos함수로 키가 되는 데이타의 위치를 알아내서
Copy(문자열,위치,길이)를 써서 구하고 있습니다
이보다 빠른 알고리즘을 알고 싶습니다
혹은 문자열버퍼를 어떤 다른 방법으로 생성해서
검색하는 방법이 있다면 그것도 알려주시면 좋겠습니다
참고로 원하는 데이타는 구조체로 정의할수 있는 내용인데
저는 그냥 문자열에 연이어서 연결해서 사용하고 잇습니다
데이타량이 작아 데이타베이스를 사용하지않으려고합니다
고수님 도와주세요
4  COMMENTS
  • Profile
    델피언 2003.04.26 12:21
    검색을 인라인어셈블러 또는 동급의 검색함수를 사용하시면 됩니다.
    처리속도가 기본적으로 10~100배 이상 차이가 납니다.
    그런데 찾는 것이 문자인지 아니면 문자열인지,
    또는 있는지 확인만 하는것인지, 아니면
    문자를 추출하는건지요?
    그럼..... xbase@korea.com

  • Profile
    한원희 2003.04.26 20:10
    안녕하세요. 한원희입니다.

    자료실에 보면, FastStrings 라는 인라인 어셈으로 작성된 문자열 관련 유틸 유닛이 있습니다. 성능 정말 빠릅니다...

    참고하세요. ^^

  • Profile
    타락천사 2003.04.26 09:06
    안녕하세요. 타락임다..

    단순한 문자열을 검색하는 방법은 순차검색밖에 없습니다.

    그래서 간접정렬 방법을 권해 드리고 싶습니다.

    본 데이터를 건드리지 않고 빠른 정열과 검색이 가능합니다.

    그런데 문제는 설명하기 어렵다는 겁니다...ㅠㅠ

    다른 방법으론 "키" 만 따로 인덱스를 만들수 있습니다.
    인덱스를 만든후 정렬하여, 이분검색 등을 이용할수 있습니다.
    인덱스에서 "키"를 찾아서 "키"의 위치값을 받아서 Copy 하면 됩니다.

    즐푸하세여..

    타락천사..
  • Profile
    파인뷰 2003.04.27 01:52
    답변 주신 내용들 모두 큰 도움이 됩니다
    감사합니다