数据结构课堂笔记

来源:互联网 发布:淘宝好评追加怎么写 编辑:程序博客网 时间:2024/05/16 07:08

第一章 绪论

一 数据结构:
   1、基本概念:
     (1)数据:所有能输入到计算机中并能被计算机程序识别和处理的符号集合。
     (2)数据两大类:1、整数、实数等数值数据;2、文字、声音、图形和图像等非数值数据。
     (3)数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
     (4)数据项:数据元素的最小单位,能独立、完整地描述问题世界的一切实体。
     (5)数据结构:相互之间存在一定关系的数据元素的集合。分为逻辑结构和存储结构。
     (6) 数据类型:一组值的集合以及定义于这个值集上的一组操作的总称。其规定了该类型数据的取值范围和对这些数据所能采取的操作。
     (7)抽象:抽出问题的本质的特征而忽略非本质的细节,是对具体事物的一个概括。
     (8)抽象数据类型(ADT):是一个数据结构以及定义在该结构上的一组操作的总称。
     (9)数据类型和ADT的区别:前者指高级程序设计语音支持的基本数据类型,后者指自定义的数据类型。
   2、逻辑结构: 
     (1)逻辑结构:数据元素之间逻辑关系的整体。在形式上可定义为一个二元组。
     (2)根据逻辑关系,数据结构分为四类:1、集合:数据元素之间就是“属于同一个集合”,除此之外,没有任何关系:。2、线性结构:数据元素之间存在着一对一的线性关系。3:树结构:数据元素之间存在着一对多的层次关系。4、图结构:数据元素之间存在着多对多的任意关系。
     (3)非线性结构 :树结构和图结构。
  3、存储结构:
      (1)存储结构:又称物理结构。是数据及其逻辑结构在计算机中的表示。除了存储数据元素,必须隐式或显式地方法数据元素之间的逻辑关系。
      (2)两种存储结构:顺序存储结构和链接存储结构。
      (3)常用存储方法:1、用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示。2、用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示。
二、算法
  1、基本概念:
     (1)算法:对特定问题求解步骤的一种描述,是指令的有限序列。
       (2) 算法特性:1、输入;2、输出;3、有穷性;4、确定性;5、可行性。
       (3)评价算法:1、正确性;2、鲁棒性;3、简单性;4、抽象分级;5、高效性。
        描述算法:1、自然语言;2、流程图;3、程序设计语言;4、伪代码。
   2、算法分析
       (1)度量算法效率的方法:1、事后统计;2、事前分析估算(渐进复杂度)
       (2)问题规模:指输入量的多少,可从问题描述中得到。
       (3)基本语句:执行次数与整个算法的执行次数成正比的语句。
       (4)时间复杂度(渐进时间复杂度):只考察当问题规模充分大时,算法中基本语句的执行次数在渐近意义下的阶。通常用大O记号表示。
       (5)大O记号:T(n)=O(f(n))    用来描述增长率的上限。
       (6)分析算法的时间复杂度:找出所有执行次数最大的那条语句作为基本语句,计算基本语句的执行次数,取其数量级放入大O中。
   
0 0
原创粉丝点击