第一章数据结构与算法1
1算法1.1.1算法:是指解题方案的准确而完整的描述
规定了解决某类问题所需的操作语句以及执行顺序使其能通过有限的指令语句,在一定时间内解决问题算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止
1.算法特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限的步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报
2.算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构通常,计算机可以以执行的基本操作是以指令的形式描述的
一个计算机系统能执行的所有指令的集合,称为计算机系统的指令系统
(1)计算机系统中的基本运算和操作包括:算术运算+-*/逻辑运算notandor关系运算
=数据传输赋值输入与输出(2)算法的控制结构:顺序结构、选择结构、循环结构
3.算法基本设计方法:列举法(列举所有解决方案)归纳法(特殊一般)递推(已知未知)递归(逐层分解)减半递推“减半”是指将问题的规模减半,而问题的性质不为,所谓“递推”是指重复“减半”的过程回溯法找出一个解决问题的线索,然后沿着这个线索逐步多次“探、试”1.1.2算法复杂度算法时间复杂度和算法空间复杂度(一个算法所要付出的代价)是衡理算法好坏的
1.算法时间复杂度算法时间复杂度是指执行算法所需要的计算工作量
(既算法的运算次数)含义:算法执行过程中所需要的基本运算次数影响计算工作量的主要因素:一、基本运算次数二、问题与规模2.算法空间复杂度是指执行这个算法所需要的内存空间
一个算法所用的内存空间包括:1、算法程序所占的空间2、输入的初始数据所占的存储空间3、算