数据结构基础2

算法和算法的时间复杂度

算法是描述求解问题方法的操作步骤集合 描述算法的语言主要有三种形式:文字形式、伪代码形式和陈旭设计语言形式。

文字形式指用英文和中文 伪代码指用一种仿程序设计语言的语言 直接使用高级陈旭设计语言描述算法的优点是算法描述简捷易读 又可以直接输入计算机调用运行。

//把数组中n个元素逆置算法
void reverse(DataType a[],int n,DataType b[]){
    int i;
    for(i=0;i<n;i++)
        b[i]=a[n-i-1];
    }
//把数组中的n个元素就地逆置算法
void Reverse(DataType a[].int n){
    int i,m=n/2;      //就地逆置 采用折中一半的方式进行遍历  “/”运算符表示整数相除 商只取整数部分
    DataType temp;     //目的临时转换
    for(i=0;i<m;i++){  //进行m次调换  
        temp=a[i];
        a[i]=a[n-i-1];
        a[n-i-1]=trmp;
}    
}

算法的性质和设计目标:

  1. 输入性:具有零个或若干个输入量
  2. 输出性:至少产生一个输出量或执行一个有意义操作
  3. 有限性:执行语句的序列是有序的
  4. 确定性:每条语句的含义明确,无二义性
  5. 可执行性:每条语句都应在有限的时间内完成

算法设计应满足:

  1. 正确性
  2. 可读性
  3. 健壮性
  4. 高时间效率
  5. 高空间效率

算法的耗时与算法所处理数据元素个数n的函数关系的分析称作算法的时间效率分析也称为算法的时间复杂度分析  主要指分析算法的耗时与算法所处理数据元素个数n的数量级意义上的函数关系

时间复杂度我不知道怎么写  一般情况下有几个for  我就有n的多少次方  只是一部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呲溜吧咻咻咻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值