2008-10-07 3 views
9

Delphi 5의 무료 Hashtable 구현 방법을 알고 계십니까?Delphi 5의 Hashtable 구현

엄청난 양의 데이터를 정리해야하고 웹에서 구현 가능한 대부분의 구현에서 발견 된 메모리 누수 문제에 대해 조금 걱정합니다.

TKS

답변

10

오픈 소스/이전 상업용 TurboPower SysTools을 확인할 수도 있습니다. 업데이트되는 양을 모릅니다. 어느 시점에서 Julian Bucknall은 그의 EZDSL library 이상으로 추천했지만 TurboPower 모피를 계속 작업하면서 유지 보수 중이었던 당시에는 다시 돌아 왔습니다.

+1

사실 Turbo-Powers LockBox가 원하는 기능 일 것입니다. 최신 버전은 http://www.songbeamer.com/delphi/에서 업데이트됩니다. – skamradt

+2

LockBox는 암호화 해싱을 수행합니다. SysTools 및 EZDSL은 데이터 구조 인 해시 테이블을 수행합니다. –

1

당신은 Koders에서 검색하는 것을 시도 할 수 있습니다.
Here 간단한 구현 (Winjab project) 또는 this부터 JCL까지입니다.

참고 : 코드를 사용하기 전에 라이센스를 참조하십시오.

3

EZDSL은 TurboPower 및 DevExpress의 Julian Bucknall이 작성한 해시 테이블을 비롯한 데이터 구조의 라이브러리입니다. 사용하지는 않았지만이 코드에 대한 기대치는 높습니다.

http://www.boyet.com/FixedArticles/EZDSL.html

+0

수축 포장 된 응용 프로그램과 함께 EZDSL을 사용했으며 코드가 아주 좋습니다. 좋은 성능, 메모리 누수에 대한 우려. –

3

GpStringHash을 시도 할 수 있습니다. 메모리 누출은 없지만 문자열로만 작동합니다. I 은 D5에서 작동해야한다고 생각합니다.

0

피터 아래는 공개적으로 엠바 카데로 (Embarcadero) newgroups에게 한 일의 재 작업을 게시했습니다. 첨부 파일. CodeGear 사이트의 프로필 아래 http://cc.codegear.com/Item/24825에 설명되어있는 내용이 있습니다.

0

체크 아웃 DeCAL에는 해시 테이블과 더 많은 데이터 구조가 포함되어 있습니다.

0

실제 해시 테이블 구현 이외에도 사용되는 해시 함수 자체도 중요합니다.

좋은 점은 Bob Jenkins의 해시 함수 인 read his paper here입니다.

이 알고리즘은 입력이 DWord 크기 (See the C-version of it here) 인 경우 최근에 개선되었습니다. 이 버전은 더 빠르며 하나가 아니라 두 개의 32 비트 해시 값을 생성합니다. (이 두 번째 해시 값은 예를 들어 양동추 선택 속도를 높이는 데 사용될 수 있습니다.)

관심있는 사람들을 위해 여기에 Delphi 번역을 붙여 넣을 수 있습니까? (약 170 줄의 코드입니다.)

0

RBS Antidot은 컨테이너의 매우 훌륭한 라이브러리입니다 (해시 기반 UnsortedMap 포함).