我知道嵌套循环的大O是n^2。但是,如果嵌套循环不依赖于n呢?它会是n * k。比方说,我们有用户,并为每个用户,我们必须找到他的课程。另一个例子,假设我们是id。从ID我们必须找到所有的订单,并从每个订单,我们必须找到所有的订单细节。需要找到订单和订单详细信息的大代码
public static void DoSomeStuff(string id)
{
// find all orders from id
for (int i = 0; i < orders.Count; i++)
{
var order = orders[i];
// find orderDetails from Order
for (int j = 0; j < orderDetails.Count; j++)
{
// Do something
}
}
}
什么是BIg O在这里?
你说得对。答案是O(n * m)。 n是订单的大小,m是最大订单的大小。 – Max
相关问题:[复杂的嵌套循环](http://stackoverflow.com/questions/39181854/complexity-of-nested-for-loops) –