我使用读取函数创建树,该函数使用while循环从文本文件中检索行,在该循环中,我创建了一个节点,然后使用insert方法将节点插入树中的正确位置。
对于复制构造函数,我执行类似的操作,将根传递给辅助函数,就像插入函数一样,然后复制传递给函数中节点的节点名称。看起来有点像这样:
newNode->name = pNode->name;
newNode->left = copyConstructorHelper(pNode->left);
newNode->right = copyConstructorHelper(pNode->right);
然后,我返回一个新节点。
运行Visual Studio内置的采样后,读取方法将使用%36的内存,而复制构造函数仅使用%4的内存。这是巨大的差异,有人可以解释为什么吗?
最佳答案
部分可能是文件IO;制作第一个方法的版本,该方法从字符串(或相同的数组)获取数据,并观察其区别。