【发布时间】:2015-05-25 08:44:30
【问题描述】:
TreeNode root = new TreeNode(5);
ArrayList<TreeNode> arr = new ArrayList<TreeNode>();
for(int i = 0; i < n; i++){
arr.add(root);
}
在上面的代码中,单个TreeNode 对象被添加到ArrayList<TreeNode> arr 中n 次。我认为arr 的空间复杂度应该为O(1),因为它保存了对堆上单个内存块的引用。我正在和我的朋友讨论这个问题,他们有不同的看法,认为它可能具有O(n) 复杂性。大家觉得呢?
【问题讨论】:
-
答案取决于 n 是什么。
-
你能详细说明你的答案吗?
标签: java object arraylist space-complexity