算法与数据结构(1) ---绪论

算法与数据结构(1)---绪论

算法+数据结构=程序

计算机求解问题的过程

1问题的理解 2数据结构设计 3 算法设计 4算法分析 5程序实现

算法与程序的区别 1 程序可以是无穷的,算法是有穷的。2 程序是用程序语言描述的,在计算机上可以执行,而算法除了可以用程序设计语言描述之外,换可以用框图,自然语言等方式描述。

算法与数据结构也是有联系的:1 一方面算法所求解问题的对象需要用适当的数据结构存储到计算机中,算法才能对其进行操作和处理;另一方面算法本身需要适当的数据结构来支持算法策略的实现。2一个高效的算法常常是因为选择了一个好的数据结构,算法与数据结构是计算机问题求解的关键技术。


数据结构的概念:书籍元素之间都会存在这样或那样的关系,这种数据元素之间的关系称为结构。

D,L,S,OData_Structure=(D,L,S,O)

D 是数据元素的有限集,是存储和操作的对象。

L 逻辑结构

S 存储结构或物理结构。

O 在数据元素集合D上规定的一组操作

数据元素,数据之间的逻辑关系、逻辑关系在计算机中的存储表示以及所规定的操作等四部分的整体称为数据结构。

逻辑结构: 1集合结构 2 线性结构  3 树形结构 4 图形结构

存储结构: 顺序存储结构 链式存储结构 散列存储结构

算法是求解特定问题的步骤的有限序列。

顺序结构 分支结构 循环结构

算法特性 1 功能性 2 有穷性 3 确定性 4可行性

 算法可以用多种方式来描述 ,可以用自然语言描述,换可以用框图、程序设计语言描述。

算法分析 1 正确性 可读性 健壮性 高效性;

时间复杂度是同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。
计算机科学中,算法的 时间复杂度是一个函数,它定性描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况。




猜你喜欢

转载自blog.csdn.net/qq_40182703/article/details/80101641