菜鸟笔记之算法

    在程序设计中,我们如果要解决问题,就要涉及到算法设计,算法设计是最具创造性的工作之一,本人认为算法设计是计算机工作之中最具活力的工作。

人们解决问题的思想方法步骤都有可以称之为算法算法是指令的集合,是为了解决问题而进行的一系列的操作,他明确了可计算的过程,以一个数据结合作为输入,以一个数据集合作为输入,算法通常来说有五个特性(输入,输出,可行性,有穷性,确定性)简单的说算法就是就是解决问题的过程在其中时间复杂性以及空间复杂性是是评价一个算法是否成功的最好标准,所谓的时间复杂性,并不是要计算出程序运行所需要的时间,因为运行的时间受好多因素的影响,例如 操作系统,计算机硬件等等,所以计算机运行的次数就是时间复杂性的标准。例如下面的程序:
public  void selectstart(int[ ] a){

int n = a.length;

For(int k=0;k=n-1;k++)

{int min=k;

For(int i =k+1;i<n;i++)

If (a[i]<a[min])

min=i;

If(k!=min){

Int temp=a[k];

a[k]=a[min];

a[min]=temp;

}

}

}

在这个程序中有两个循环,在第一个循环中,每次循环就相当一个包袱,每个包袱之中都包含着n-k-1循环所以总共的循环次数为(n-1+n-2+..........+1在第二次循环之中执行的交换语句之中0~3n+1)执行的总次数为在你nn-1/2nn-1/2+3n-1)之间

时间复杂度有三种表现方式,其中包括时间复杂度上界(o),时间复杂度下界(Ω),精确阶(θ )。

当输入大于一个值是:∀n>=N,T(n)<=c.f(n)

Tn=ofn)或者是Tn)比上fn)的极限是一个确定的值那么时间复杂性上界为on^2)时间复杂性下界为Ω(n^2)精确阶为θ(n^2)

所谓的空间复杂性就是程序运行所需要的存储空间,其中不包括运行示例所占的空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值