9.数据结构概述
迪丽瓦拉
2025-05-30 03:20:07
0

9.1上节OJ作业讲解

test1

Description:

 

 考的跟课上讲的基本一致,考的是如何读取结构体并打印输出。

 

 

 注意姓名的格式是字符串%s,不是字符%c。

test2:

Description:

 

 如果说只是使用前面的方法去用数组存储字符串,那么我们发现不能忽略空格。

 

这题主要采用C++的引用的使用,在我们的子函数内,如何修改main函数中的指针变量值。

这里的 fgets函数属于超纲内容:
下面是具体用法:
 

 中间参数是指第一个参数空间的大小。

答案如下:

 

#include 
#includevoid modify_pointer(char *&p)  //因为申请的空间类型必须与传入的行参类型相同,所以都是char类型,* && &都只是操作符
{p=(char*)malloc(100); //申请空间fgets(p,100,stdin);//如果使用fgets传入的是一个指针变量,中间参数是指指针指向的空间的大小
}int main() {char*p=NULL;modify_pointer(p);puts(p);free(p);return 0;
}

9.3 逻辑结构与存储结构

 逻辑结构有哪些呢?

 

存储结构又哪些呢?

 

ep:

线性表(线性结构)中,由于存储结构的不同,可以分为线性表和链表。

 

 

 

 

 

9.4时间复杂度和空间复杂度

算法的定义

 时间复杂度指算法中所有语句的频度(执行次数)之和’

记为:

T(n)=O(f(n))

这里的n是问题的规模,f(n)是问题规模n的某个函数

表示着随着问题规模的增大,算法执行时间的增长率和f(n)的增长率相同。

常对幂指阶

 

 

 

 

 

 

 

 

空间复杂度S(n)是指算法运行过程中所使用的辅助空间的大小。

记为:

S( n)=O(f(n))

 

 

相关内容