2012-05-07 188 views
2

我创建使用读取功能,它使用while循环来从一个文本文件中的行我的树,在这个循环我创建了一个节点,然后用插入法节点插入正确的在树中的地方。二叉搜索树分析

对于我的拷贝构造函数我做同样的事情,我的根传递给一个辅助函数有点像我的插入功能,然后通过在传递给函数的节点的节点的名称复制。看起来有点像这样:

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

然后我返回一个新节点。

运行内置到Visual Studio中的采样后,读取方法使用了内存的%36%,而拷贝构造函数只使用了4%。这是一个巨大的差异,有人可以解释为什么请吗?

+2

请提供您的阅读方法的源代码,并copyConstructorHelper,与无关的代码剥离出来。 –

+0

我描述了我做了什么,而不是把代码了,因为它是一个任务,我不应该共享代码,直到它被标记 – dev6546

回答

1

部分原因可能是文件IO;制作你的第一个方法的一个版本,它从一个字符串(或相同的数组)获取它的数据,并查看其中的差异。