数据结构:
数据结构:数据与数据之间的关系,以及其之间存在的结构
算法
能否实现功能
简单益读,逻辑简洁明了
健壮性
评判一个算法优劣用复杂度
复杂度
时间复杂度
由于不同电脑,不同环境,不同网络下代码实际运行有差异,因此不能靠endTime - startTime
看某一动作(代码)运行的次数
空间复杂度
除参数外函数内部声明的变量个数以及递归栈帧次数和
O():取最高阶,最高阶系数均为1,常数O(1)
由于现代技术的发展,内存空间一般比较大,一般采取时间换空间的方法
冒泡排序
轮转数列:leetcode 默认调用的是原数组
逻辑顺序
储存顺序
数组:逻辑顺序,储存顺序均连续
链表:逻辑顺序连续,储存顺序不连续
线性表:逻辑顺序连续
顺序表:逻辑顺序连续,存储顺序连续
对数组的再次封装,里面包含结构体,以及关于结构体成员的一些函数
头文件:对函数的声明,引用自己头文件“”
1.c:对头文件实现
2.c:main()
malloc(),realloc(),calloc() 均有可能返回NULL,需先用temp判空
realloc()先判断后面的内存空间是否足够,不足够重新找一连续内存空间,并将前面内容复制过来,释放原本heap内存,返回新首地址。其中可能会有问题导致申请有误而返回NULL
perror("") 报错
strerror(errno) 报错 需printf()打印
exit(EXIT_FAIL)
assert() 报错,企图对空指针解引用
heap:default 0xcd 变量可以不初始化 MASV x86 32bit about 2G
stack:default 0xcc 变量必须初始化
typedef int dataType; 重定义类型名,可以简单修改

浙公网安备 33010602011771号