通过提高增长率,功能的顺序是什么:
1 ^(nlogn),n ^ logn,2 ^ 5,sqrt(logn),2 ^(n!),1 / n,n ^ 2,2 ^ logn,n!,100 ^ n
这是我的尝试:
1 ^(nlogn)
2 ^ 5
1 / N
SQRT(logn)时间
N ^ 2
N R个LOGN
2 ^ LOGN
100 ^ N
N!
2 ^(N!)
答案 0 :(得分:0)
让我们从容易的部分开始。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using eFormsRedux.Models;
using System.Data.Entity.ModelConfiguration.Conventions;
namespace eFormsRedux.DAL
{
public class FDCContext : DbContext
{
public FDCContext()
: base("FDCContext")
{
}
public virtual DbSet<Approval> Approvals { get; set; }
public virtual DbSet<RefundRequest> RefundRequests { get; set; }
public virtual DbSet<Supervisor> Supervisors { get; set; }
public virtual DbSet<User> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
}
正在成长 - n越大 - 结果越小namespace eFormsRedux.Models
{
public class RefundRequest
{
public int ID { get; set; }
public string intAccount { get; set; }
public string vcServiceCode { get; set; }
public double intRefundAmount { get; set; }
public string vcClinic { get; set; }
public string vcName { get; set; }
public string vcOtherName { get; set; }
public DateTime dtDateRequested { get; set; }
public string vcRequester { get; set; }
public int intApproval { get; set; }
public int intSupervisor { get; set; }
public int intApprovedBy { get; set; }
public DateTime dtDateApproved { get; set; }
public int intReturnToClinic { get; set; }
}
}
和1 / n
都是常量。所以他们都是1^(n*log(n))
。现在我们有一个功能显然是最小的功能:
2^5
所以我们最终得到了以下不明确的函数:O(1)
。其中一些以多项式增长sqrt(log(n))
约为n^log(n), 2^(n!), n^2, n!, 100^n, 2^log(n)
。所以我们有另一个小组:
2^log(n) = n ^ log(2)
n ^ 0.7
其余的,“最大的”是2^log(n)
,然后是n^2
,然后是2^(n!)
,然后是n!