이것은 매우 간단하지만 양파와 비슷합니다. 저는 제 자신의 객체 클래스에 대한 호기심이 있습니다. 실제로 폼의 구성 요소와 비슷합니다. 그 중 어떤 것도 자식과 부모를 가질 수 있습니다. 맨 위에는 루트 객체가 있습니다. 다른 코드는이 계층 구조를 관리하며 언제든지 지점 또는 잎을 만들거나 삭제하거나 이름을 변경할 수 있습니다. 이 트리 뷰를 여러 개 가질 수있는 방식으로이 계층 구조를 볼 수있는 트리 뷰 (일종의, 아마도 가상의)를 갖고 싶습니다. 각 트리 뷰는 필요할 때 개체 계층 구조에서 자신을 그립니다.오브젝트의 기존 계층 구조를 표시하기 위해 트리 뷰를 표시하는 데 가장 좋은 델파이 알고리즘은 무엇입니까
이미 Delphi의 TTreeView를 사용하는 솔루션이 있지만 '변경됨'플래그가 발생하고 변경된 트리 뷰 분기를 다시 빌드 할 때 계층 구조를 반복하는 데 의존합니다. 이것은 천천히 (나는 1000 개가 넘는 객체를 가질 수 있습니다) 그리고 단일 객체 삽입이나 삭제를 위해 단일 트리 뷰 변경을 관리하는 알고리즘을 원합니다. 이것이 가능한가?
제 질문은 귀하가 제안한 것을 구현하는 알고리즘에 관한 것입니다. "삭제 된 객체와 관련된 노드 찾기"를 작성한 곳에서는 전체 트리를 걸을 필요가없는 '객체에 노드로'함수를 작성하는 등 빠른 방법으로 트리보기에서 어떻게 수행 할 수 있는지 궁금합니다. –
@Brian 성능상의 이유로 나무를 걷지 않으려면 사전을 사용하십시오. –