数据结构-绪论-算法及其描述
来源:互联网 发布:合肥软件测试招聘 编辑:程序博客网 时间:2024/05/16 17:06
算法及其描述
数据元素之间的关系有逻辑关系和物理关系,对应的运算有基于逻辑结构的运算描述和基于存储结构的运算实现。
算法 是对特定问题求解步骤的一种描述,它是指令的有限序列。其中每一条指令表示计算机的一个或多个操作。
(一). 算法的五个重要的特性
(1)有穷性:在有穷步之后结束,算法能够停机。
(2)确定性:无二义性。
(3) 可行性:可通过基本运算有限次执行来实现,
也就是算法中每一个动作能够被机械地执行。
表示存在数据处理:
(4)有输入
(5)有输出
算法设计的目标:
(1) 正确性
(2)可使用性
(3)可读性
(4)健壮性
(5)高效率与低存储量需求
(二).算法描述
②:输出型参数的设计
其中,&a,&b分别是实参a,b的地址,并且改正后swap2()可读性差。
在C++语言中提供了一种引用运算符“&”。当建立引用时,程序用另一个已定义的变量
(目标变量)的名字初始化它,从那时起,引用变量作为目标变量的别名使用,对引用变量的改动实际是对目标变量的改动。
例如:
int a=4; //定义整形变量a;
int &b=a; //定义整形变量a的引用变量b;
第2个语句定义b变量是变量a的引用变量,b也等于4,之后这两个变量同步改变。
③.算法分析
概述:
一个算法是由控制结构(顺序、分支和循环三种)和原操作(指固有数据类型的操作,如+、-、*、/、++和--等)构成的。算法执行时间取决于两者的综合效果。
一:时间复杂度
二:空间复杂度
④.数据结构+算法=程序
求解的问题可以通过抽象数据类型来描述,它由数据的逻辑结构和抽象运算两部分组成。一种数据结构的逻辑结构可以映射成多种存储结构,抽象运算在不同的存储结构上实现可以对应多种算法,在同一种存储结构上实现也可能有多种算法,通过算法的时间复杂度和空间复杂度等分析可以得到好的算法。
存储结构对算法的影响主要在下面两个方面:
1.存储结构的存储能力
如果存储结构的存储能力强,存储的信息多,算法将会较好设计。往往存储能力是与所使用的空间大小成正比。
2.存储结构与所选择的算法相适应
存储结构是实现算法的基础,也会影响算法的设计,其选择要充分考虑算法的各种操作,应与算法的操作相适应。
算法通常是决定程序效率的关键,但一切算法最终都要在相适应的数据结构上实现,许多算法的精髓就是在与选择了合适的数据结构作为基础。在程序设计中不仅要注重算法设计,也要正确的选择数据结构,这样往往能够事半功倍。
- 数据结构-绪论-算法及其描述
- 数据结构与算法 绪论
- 数据结构(二)算法绪论
- 数据结构与算法绪论
- 数据结构与算法绪论
- 数据结构和算法绪论
- 数据结构和算法绪论
- 数据结构与算法--绪论
- 数据结构和算法绪论
- 算法与数据结构绪论
- 数据结构和算法绪论
- 数据结构与算法绪论
- 数据结构与算法----绪论
- 数据结构和算法绪论
- 数据结构和算法绪论
- 数据结构和算法(一)----绪论
- 一、数据结构和算法绪论
- 数据结构与算法 - 绪论上
- plsql使用技巧(更新中)
- 【初探】 堆排序
- 关于vim复制剪贴粘贴命令的总结
- Java EE eclipse下配置Tomcat服务器
- Edge 浏览器全屏
- 数据结构-绪论-算法及其描述
- Ubuntu下protoc升级
- Centos7.2使用1G大页面内存
- 常用依赖
- NYOJ203-三国志
- centos7 下安装redis并且整合PHP7
- QTime
- AbstractQueuedSynchronizer:独占锁
- 1578: [Usaco2009 Feb]Stock Market 股票市场