数据结构

来源:互联网 发布:java web开发实例大全 编辑:程序博客网 时间:2024/06/12 22:00

第一章 绪论

一 数据结构

      1、数据结构的基本概念:

       (1)数据元素:数据(信息的载体)的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

     (2)数据项:数据元素的最小单位,能独立、完整地描述问题世界的一切实体。

     (3)数据结构:相互之间存在一定关系的数据元素的集合。有逻辑结构和存储结构。

     (4)抽象数据类型(ADT):是一个数据结构以及定义在该结构上的一组操作的总称。

     (5)数据类型和ADT的区别:前者指高级程序设计语音支持的基本数据类型,后者指自定义的数据类型。

     2、逻辑结构: 

     (1)逻辑结构:数据元素之间逻辑关系的整体。形式上可定义为一个二元组:Data_Structure=(D,R)

    (2)据元素间逻辑关系的不同,数据结构还可分为四类:1 集合:数据元素之间就是“属于同一个集合”。2 线性结构:数据元素之间存在着一对一的线性关系。3 树结构:数据元素之间存在着一对多的层次关系。4 图结构:数据元素之间存在着多对多的任意关系。

    (3) 描述方法:逻辑关系图,数据元素用圆圈表示,“O”;元素之间的逻辑关系用连线表示,“——”;如果强调关系的方向性,用带箭头的连线表示,"——>".

      3、存储结构:

      (1)存储结构(物理结构):存储数据元素;隐式或显式地方法数据元素之间的逻辑关系。

    (2) 两种存储结构:顺序存储结构和链接存储结构。

    (3)顺序存储结构:用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示。

    (4)链接存储结构:用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示。

二 算法

   1、算法的基本概念

       (1)算法:对特定问题求解步骤的一种描述,是指令的有限序列。

       (2) 算法的5个重要特性:1、输入2、输出3、有穷性4、确定性5、可行性。

       (3)好算法的五大特性:1、正确性 2、鲁棒性3、简单性4、抽象分级5、高效性。

       (4)算法的描述方法:1、自然语言2、流程图3、程序设计语言4、伪代码。

   2、算法分析

         (1)度量算法效率的方法:1、事后统计(先将算法实现,然后输入适当的数据运行,测算其时间和空间开销)2、事前分析估算(渐进复杂度)。

       (2)问题规模:指输入量的多少,一般记做“T(n)”。

       (3)基本语句:执行次数与整个算法的执行次数成正比的语句,是算法中最重要的操作。

       (4)时间复杂度(渐进时间复杂度):当问题规模充分大时,算法中基本语句的执行次数在渐近意义下的阶。通常用大O(大欧)记号表示。

       (5)算法的时间复杂度:找出所有执行次数最大的那条语句作为基本语句,计算基本语句的执行次数,取其数量级放入大O中。


0 0
原创粉丝点击