我试图通过一本书来理解Big-O符号,它通过使用函数来覆盖Big-O,尽管我有点困惑.书中说O(g(n))其中g(n)是f(n)的上界.所以我理解这意味着g(n)给出了较大n值时f(n)的最大增长率.
并且存在n_0,其中cg(n)的生长速率(其中c是某些常数)和f(n)具有相同的生长速率.
但令我困惑的是这些关于在数学函数中找到Big O的例子.
这本书说找到f(n)= n ^ 4 + 100n ^ 2 + 50的上界然后他们说n ^ 4 + 100n ^ 2 + 50 <= 2n ^ 4(不知道为什么2n ^ 4)然后他们一些如何找到n_0 = 11和c = 2,我理解为什么大O是O(n ^ 4),但我只是对其余的感到困惑.
这是令人沮丧的,因为我不明白,但我觉得这是一个我必须理解的重要话题.
如果有人好奇的话,那本书就是Narasimha Karumanchi的数据结构和算法
不确定这篇文章是属于这里还是属于数学板.
所以我最近得到了结构的悬念,我终于对Arrays感到满意,现在我必须处理我的教授希望我能够存储100万个结构(工资单记录)的文件,并且我非常确定一个大的阵列会使我的程序崩溃.所以我很困惑如何将结构备份到txt文件中并在启动时将它们上传回我的程序.文字会不会像一团糟一样?这是我的程序的主要部分,我需要将其放入文件中.它基本上使用结构创建工资单记录.所以我只是想知道任何人都可以给我一些关于将其发送到文本文件的提示
void payRollAdd(PAYROLL employee[], long int *pCounter){
int userinput;
do{
printf("Enter Employee Name:\n");
fgets(employee[*pCounter].name, 40, stdin);
printf("Please Enter the paydate(mmddyyyy):\n");
scanf_s("%02d%02d%d", &employee[*pCounter].payDate.month, &employee[*pCounter].payDate.day, &employee[*pCounter].payDate.year);
printf("Enter Employee Age:\n");
scanf_s("%d", &employee[*pCounter].age);
printf("Enter Employee Hours Worked\n");
scanf_s("%f", &employee[*pCounter].hrsWorked);
printf("Enter Employee Hourly Wage:\n");
scanf_s("%f", &employee[*pCounter].hrlyWage);
printf(" Employee Data \n");
printf("Name: %s\n", employee[*pCounter].name);
printf("Age: %d\n", employee[*pCounter].age);
printf("Pay Date: %02d/%02d/%d:\n", employee[*pCounter].payDate.month, employee[*pCounter].payDate.day, employee[*pCounter].payDate.year);
printf("Hours Worked: %0.2f\n", employee[*pCounter].hrsWorked);
printf("Hourly Wage: $%0.2f\n", employee[*pCounter].hrlyWage);
if (employee[*pCounter].hrsWorked > 40.00){
float temp = 40.00;
employee[*pCounter].regPay = temp * employee[*pCounter].hrlyWage;
printf("Regular pay: …Run Code Online (Sandbox Code Playgroud)