C语言菜鸟入门系列

浙大数据结构C语言版本

  1. 使用C语言中的clock()函数来比较程序的运行速度
    多项式求和
    i=0naixi ∑ i = 0 n a i ∗ x i

    普通的多项式求和算法和秦九章算法程序比较
    这里写图片描述

 //由于函数执行一次的速度非常快,这里可以重复执行多次函数达到时间雷击的效果。
 double coff[]={1,4,5,8,10,12,14,15,19,10,28,10,18,1882,747,2838};
 double x=4;
 start=clock();
 //;多次重复执行该函数
 int j;
 for(j=0;j<MAXK;j++){
  f(16,coff,x);
 }
 end=clock();
 duration1=((double)(start-end))/CLK_TCK;
 printf("total ticks are %f\n",(double)(end-start));
 printf("duration1=%f\n",duration1);

 start=clock();
 for(j=0;j<MAXK;j++){
  f2(16,coff,x);
 }
 end=clock();
 duration2=((double)(start-end))/CLK_TCK;
 printf("total ticks are %f\n",(double)(end-start));
 printf("duration2=%f\n",duration2);

double f(int n,double a[],double x){

    double p=a[0];
    int i;
    for(i=1;i<n;i++){
      p+=a[i]*pow(x,i);
    }
    return p;

}

double f2(int n,double a[],double x){
  int i;
  double p=a[n];
  for(i=n;i>=1;i--){
    p=a[i-1]+p*x;
  }
  return p;
}

这里写图片描述
秦九章算法显然比直接求解要快一个数量级!!!!
在数据结构中逻辑结构可以分为一对一的线性结构,一对多的树形表示法还有多对多的图的数据结构,而这些数据结构在计算机中又可以以不同的方式进行存储。

ADT Abstract Data Type 抽象数据类型
数据类型
数据对象集和数据操作集合
抽象
描述数据类型的方法不依赖于具体实现
与存放数据的机器无关
与数据存储的物理结构无关
与实现操作的算法和编程语言均无关
只描述数据对象集和相关的操作集是什么并不涉及如何做到的问题

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值