数据结构和算法

一 . 概念

1. 数据结构

  概念:

    这是一门专门处理数据的学科,数据元素之间的关联称为结构,描述的是存储和组织数据的方式。

2. 数据

  对客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。

3. 数据项

  数据项是数据的不可分割的最小单位。(譬如每个表中字段都是一个数据项)

4. 数据元素

  数据的基本单位,在计算机中作为一个整体进行考虑和处理。一个数据元素由多个数据项组成。(数据库表中的每一条数据就表示一个数据元素)

5. 数据对象

  性质相同的数据元素的集合,是数据的一个子集。

  这里记住集合这个概念,所有的用户组合在一起是数据对象,所有的女性用户也是一组数据对象。

  

二 . 数据结构和数据类型

  通常数据结构有四种结构:

  1、集合

  2、线性结构

  3、树形结构

  4、图(网)状结构

  

  上面说的都是数据的逻辑关系,数据结构中的物理结构(存储结构)有两种:

  1、顺序存储结构

  2、链式存储结构

  下面在介绍一个概念

    数据类型: 一个值的集合和定义在这个值集上的一组操作的总称。

    注意: 这个概念中说的,不只包含值的集合,还包涵对值集的操作。

    数据类型又分为两类:

      1、 原子类型:

          值不可再分。比如java中的int 、 char、 String等。

      2、 结构类型:

          由若干成分按某种结构组成,可以被分解。比如一个整型数组,可以循环分割成多个整型元素。

 

三 、算法和算法分析

   算法是对特定问题求解步骤的一种描述,说白了就是我们通过解决问题的程序代码,就可以说是算法。

  算法有以下5个特征:

    1、 有穷性: 算法必须在执行有限个步骤之后终止。

    2、确定性: 算法的每一步骤必须有确切的定义,相同的输入只能得出相同的输出。

    3、可行性: 或者叫有效性,每个计算步骤都可以在有限时间内完成。 

    4、输入: 一个算法有零个或者多个输入。

    5、输出: 一个算法有一个或者多个输出。

  

  好的算法的评判标准:

    1、正确性:满足祖逖问题的需求。

    2、可读性:容易被人理解。

    3、健壮性:对输入的非法数据,能偶适当的进行处理。

    4、效率与低存储量需求:尽量使算法的执行时间越短,运行时占用的空间更小。

  算法效率的度量:

    1、事后统计的方法:对运行结果进行统计分析,得出执行效率。

    2、事前分析估算:估算算法的时间复杂度。

        算法时间复杂度是一个函数,它定性描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的算法。

      一般我们最常用的办法是讨论算法在最坏情况下的时间复杂度。

 

posted on 2019-04-01 15:19  海纳百川_有容乃大  阅读(131)  评论(0编辑  收藏  举报

导航