通过提高增长率来订购功能?

时间:2016-04-11 00:32:24

标签: algorithm data-structures time-complexity big-o

通过提高增长率,功能的顺序是什么:

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!)

1 个答案:

答案 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!