数据结构和算法(一)概念

程序设计

程序设计 = 数据结构+算法

数据结构概念

1.数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。

2.数据结构是数据元素之间存在的一种或多种特定关系的集合。

数据结构分为逻辑结构和物理结构

4.逻辑结构:逻辑结构:是指数据对象中数据元素之间的相互关系,也是我们今后最需要关注和讨论的问题   

  集合结构:数据对象中的元素,同属于一个集合(除此无关系,中国人,同属于中国 )

  线性结构:数据元素对象是一对一的关系(人和身份证号码)

 树形结构:数据元素之间存在的关系是一种一对多的层次关系(一个人多种身份:一对多)

    图形结构:数据元素之间是多对多的关系(人与人认识,就是多对多)

5.物理结构:是指把数据元素存储到计算机的存储器中

     存储器主要针对内存而言,外部的存储器包括:硬盘、软盘、光盘、U盘等。外部存储器的数据组织通常用文件结构来描述

     数据元素的存储结构形式有两种:顺序存储和链式存储。

     顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的   (数组,理想意义上的排队,位置决定顺序)

    链式存储结构:是把数据元素存放在任意存储单元中,这组存储单元可以是连续的,也可以是不连续的。(银行取号,人的位置是任意,随机的)

                             数据结构的存储关系并不能反映其逻辑关系,因此需要一个指针指向下一个存放数据元素的地址,这样通过地址就可以找到相关联数据元素位置,将不同位置的元

                             素连起来。

算法

算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。

算法包括五个基本特征

输入:算法具有零个或多个输入(调用的方法可以有参数或没有参数)

输出:算法至少有一个或多个输出(返回计算结果)

有穷性:算法的执行步骤是有限的,执行规定步骤之后会自动结束,而且每个步骤都在可接受时间完成,不会无限循环。

确定性:算法的每一步是确定的,在固定条件下只有一条执行路径,相同的输入只有唯一的一种结果。

可行性:算法的每一步必须是可行的,每一步都可以执行有限次数完成。

算法设计的要求

 1.正确性:算法至少应该具有输入输出和加工处理无歧义性,能正确反映问题的需求、能够得到问题的正确答案。

 分为四个层次:

      1、算法程序没有语法错误

       2、算法程序对于合法输入能够产生满足要求的输出

       3、算法程序对于非法输入能够产生满足规格的说明(提示要求正确的输入)

       4、算法程序对于故意刁难的输入都有满足要求的输出结果(提示输入错误等信息)

2.可读性:便于阅读理解和交流,加上注释

3.健壮性:当输入 数据不合法的时候,算法也能做出相关处理,而不是产生异常,奔溃或莫名其妙的结果。

4.时间效率高和存储量低

猜你喜欢

转载自www.cnblogs.com/xuqp/p/9286608.html