目录
🎏1.算法运行时间=语句频度(每条语句执行的次数)*该语句每执行一次所需要的时间
数据类型
数据类型是值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型
抽象数据类型定义格式:
♦️抽象数据类型的表示和实现
📍抽象数据类型“复数的实现
📍用c 语言实现抽象数据类型
注:Complex是我们定义的一个结构体类型
带*:它是指向Complex类型的指针
不带*:Complex类型的普通变量
📍练习:
#include<stdio.h> typedef struct { float realpart;//创建实部 float imagpart;//创建虚部 } Complex; void assign(Complex* A, float real, float imag) { A->realpart = real; //实部赋值 A->imagpart = imag; //虚部赋值 } void add(Complex* c, Complex* A, Complex* B) //c=A+B { c->realpart = A->realpart + B->realpart; //实部相加 c->imagpart = A->imagpart + B->imagpart; //虚部相加 } void minus(Complex* c, Complex* A, Complex* B) //c=A-B { c->realpart = A->realpart - B->realpart; //实部相减 c->imagpart = A->imagpart - B->imagpart; //虚部相减 } void multiply(Complex* c, Complex* A, Complex* B) //c=A*B { c->realpart = A->realpart * B->realpart; //实部相乘 c->imagpart = A->imagpart * B->imagpart; //虚部相乘 } int divide(Complex* A, Complex* B, Complex* c) //c=A/B//先判断分母是否为0 { float denominator = B->realpart * B->realpart + B->imagpart * B->imagpart; if (denominator == 0) { return 0; //分母为零,返回0表示除法失败 } c->realpart = (A->realpart * B->realpart + A->imagpart * B->imagpart) / denominator; //实部相除 c->imagpart = (A->imagpart * B->realpart - A->realpart * B->imagpart) / denominator; //虚部相除 return 1; //除法成功,返回1 } void print(Complex c) {//对复数结果进行打印 (输出) if (c.imagpart >= 0) { printf("%.2f + %.2fi\n", c.realpart, c.imagpart); } else { printf("%.2f - %.2fi\n", c.realpart, -c.imagpart); } } int main() { Complex z1, z2, z3, z4, z; assign(&z1, 8.0, 6.0); assign(&z2, 4.0, 6.0); add(&z3, &z1, &z2); //复数z1和z2相加 multiply(&z4, &z1, &z2); //复数z1,z2相乘 if (divide(&z3, &z4, &z)) { print(z); } else { printf("Division failed: denominator is zero.\n"); //除法失败,分母为零 } return 0; }
🌟🌟🌟注意:在对函数进行传参的时候,传递的应是参数的地址,因此用Complex*A,Complex*B;而不是float A,float B
♦️算法和算法分析
📍算法的定义及特性
📍评价算法优劣的基本标准
正确性,可读性,健壮性,高效性
📍算法的时间复杂度T(n)和空间复杂度O(n)
🎏1.算法运行时间=语句频度(每条语句执行的次数)*该语句每执行一次所需要的时间
🎏2.复杂度判断:
- 随着n的增大,后面加的常数不影响最终的算法曲线变化(时间复杂度曲线)
- 去掉与n乘的常数,结果不变
- 最高次项指数大的,函数随着n的增长,结果也会增加的特别快
注意:判断一个算法的效率时:函数中的常数和其他次要项常常可以忽略,应关注主项(最高项)