算法及数据结构一般概念

数据结构。主要研究非数值计算问题。

基本概念

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

数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。它是用来描述一整条完整的信息,包括姓名、学号、性别…

数据项:是组成数据元素的,有独立含义的不可分割的最小单位。比如说学生基本信息表中的学号,姓名,性别等都是数据项。

数据对象:是性质相同的,数据的集合是数据的一个子集。

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

数据的逻辑结构:是从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

数据的逻辑结构主要有两个要素:一是数据元素,二是关系。

逻辑结构分类:分为集合结构,线性结构,树结构,图结构或网状结构。
在这里插入图片描述
存储结构:数据对象在计算机中的存储表示称为数据的存储结构,也称为物理结构。把数据对象存储到计算机时,通常要求既要存储各数据元素的数据,又要存储它们之间的逻辑关系。

存储结构分为顺序存储结构,链式存储结构,索引存储结构,散列存储结构。

顺序存储结构:它要求所有的元素依次存放在一片连续的存储空间,中是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助数组类型表示。

链式存储结构:无需占用一整块存储空间,但是为了表示节点之间的关系,我们需要给每个节点附加指针字段,用于存放后记元素的存储地址,所以通常用指针类型来描述。

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

抽象数据类型:一般是指由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。具体包括三个部分,数据对象,数据对象上关系的集合以及数据对象的基本操作的集合。

算法:是为了解决某类问题而规定的一个有现场的操作序列。

算法必须满足的5个重要特征:
一是有穷性,一个算法必须是在执行,有穷步后结束,并且每一步都是在有穷时间内完成的。
二是确定性,就是对于每种情况下所应执行的操作,在算法中都有确切的规定,不会产生二义性。
三是可行性,算法中所有的操作都可以通过已经实现的基本操作运算执行有限次实现。
四是输入,一个算法有零个或多个输入。
五是输出,一个算法有一个或多个输出。

评价算法优劣的基本标准。
一是正确性,在合理的数据输入下,能够在有限的运行时间内得到正确的结果。
二是可读性,一个好的算法首先应便于人们理解和交流,其次才是机器的可执行性。
三是健壮性,当输入的数据非法时,好的算法能够做出相应的处理,而不会产生一些莫名其妙的结果。
四是高效性,包括时间和空间两个方面。也就是时间复杂度和空间复杂度是衡量算法两个重要的指标。

衡量算法效率的方法:主要有事后统计法和事前分析估算法。我们通常采取的是事前分析估算法。

问题规模:问题规模是算法求解问题输入量的多少是问题大小的本质表示。

语句频度:语句频度是一条语句的重复执行的次数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值