在任何情况下,您是否更喜欢O(log n)时间复杂度和O(1)时间复杂度?或O(n)到O(log n)?
你有什么例子吗?
基本上我有一个NodeTree类:
public class NodeTree
{
public NodeTree(int value, NodeTree left, NodeTree right)
{
Value = value;
Right = right;
Left = left;
}
public int Value { get; set; }
public NodeTree Right { get; set; }
public NodeTree Left { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在我的主要部分,我想做点什么
NodeTree root = null;
Algo.InsertValueIt(root, 8);
Run Code Online (Sandbox Code Playgroud)
InsertValueIt()是我的静态类Algo中的一个方法,它执行:
public static void InsertValueIt(NodeTree root, int val)
{
var newNode = new NodeTree(val, null, null);
if (root == null)
{
root = newNode;
}
}
Run Code Online (Sandbox Code Playgroud)
在我的方法中,一切都按预期工作,但回到我的主要,我的对象根仍然是空的.我感到困惑的原因是我给我的方法一个引用,所以它应该将地址的值修改为我分配的新空间.
我想我可以通过返回一个NodeTree来解决我的问题,但有没有办法用void返回类型做到这一点?