数据结构—算法

数据结构—算法

要想开发出效率高的软件,选择较好的算法是关键。描述算法的形式有三种,
第一种是文字形式:用中文或英文这样的文字来描述算法。
第二种是伪码形式:用一种仿程序设计语言的语言来描述算法。
第三种是程序设计语言形式:用某种程序设计语言描述算法。其优点是算法不用修改作为程序语句键入计算机,计算机能调用和运算。
算法是描述求解问题方法的操作步骤集合。
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操纵。此外,一个算法还具有五个重要特征:
1.1特征
有穷性
确定性:算法中的每一步都必须有确切的含义,不能存在而已性。
可行性:算法的可行性指的是,算法中的每一个步骤都可以有效的执行,并得到确定的结果。
输入:算法必须要有输入,所谓输入指的是算法在执行时,从外界取得必要的数据,计算机运行程序的目的,就是数据处理,多数情况下,这些数据需要在输入得到。
输出:一个算法有一个或多个输出,如果一个算法没有输出,那么这个算法将毫无意义。
1.2 算法设计的要求
算法设计的好坏关乎程序的执行效率,算法设计必须满足以下要求:
正确性:算法正确性的含义指的是算法对任何合法的数据都能得到满足要求的结果,它是正确的,即算法达到了我们测试的要求,不是验证所有数据。
可读性:算法的可读性指的是人们对算法的阅读理解难易程度,可读性越高的算法,便于理解、交流。
健壮性:健壮性指的是,对于非法的输入数据,算法能给出相应的响应,而不是产生不可预料的后果。
效率与低存储需求:效率指的是算法的执行时间,执行时间越少,效率就越高。存储需求则越少越好。
1.3 算法的分析
1.3.1算法效率的度量
算法执行的时间是其对应的程序在计算机上运行所消耗的时间,在计算机上运行所需时间与这四个因素有关:算法本身选用的策略、书写程序的语言、编译产生的机器代码质量、机器执行命令的速度。
1.3.2算法的时间复杂度
可用算法中语句的执行次数来度量一个算法的效率。
语句频度是指语句在一个算法中重复执行的次数。以下给出了两个nxn阶矩阵相乘算法中的各条语句以及每条语句的语句频度。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值