2012-05-07 6 views
2

텍스트 파일에서 행을 검색하기 위해 while 루프를 사용하는 읽기 함수를 사용하여 트리를 만듭니다.이 루프에서 노드를 만든 다음 insert 메서드를 사용하여 노드를 올바른 위치에 삽입합니다 나무에 놓으십시오.이진 탐색 트리 분석

내 복사 생성자의 경우 비슷한 기능을 수행하기 위해 함수의 노드에 전달 된 노드의 이름을 복사하여 내 삽입 함수와 비슷한 도우미 함수에 루트를 전달합니다. 다음과 같이 조금 보입니다.

newNode->name = pNode->name;   
newNode->left = copyConstructorHelper(pNode->left);    
newNode->right = copyConstructorHelper(pNode->right); 

다음으로 새 노드를 반환합니다.

Visual Studio에 샘플링을 실행 한 후 읽기 방법은 메모리의 최대 36 %를 사용하지만 복사 생성자는 % 4까지만 사용합니다. 이것은 엄청난 차이입니다. 왜 누군가가 설명해 주시겠습니까?

+2

읽기 방법의 소스 코드와 관련없는 코드가 제거 된 copyConstructorHelper를 제공하십시오. –

+0

필자는 필자가 한 일을 설명했다. 코드를 할당하고 코드를 표시 할 때까지 코드를 공유하지 않기로했다. – dev6546

답변

1

파일 입출력 가능성이 높습니다. 문자열 (또는 같은 배열)에서 데이터를 가져 오는 첫 번째 메서드 버전을 만들어 차이점을 확인하십시오.