数据结构第一章绪论

本文介绍了数据结构第一章的绪论,涵盖了数据结构的基本概念、术语,算法的定义、评价标准,以及时间复杂度和空间复杂度的重要性。重点讲解了逻辑结构、存储结构以及算法的特性与衡量标准,为后续章节的学习打下基础。
摘要由CSDN通过智能技术生成

数据结构第一章——绪论



前言

这一章的主要内容在于了解数据结构的基本概念:包括基本概念和术语、数据结构的类型;学习算法的基本概念:包括算法的概念、评价一个算法优劣的标准、算法的时间复杂度和空间复杂度。


一、思维导图

在这里插入图片描述

二、基本内容

1.数据结构的基本概念和术语

  1. 基本概念
    数据:是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。
    数据元素:是数据的基本单位。
    数据项:是组成数据元素的,有独立含义的,不可分割的最小单位。
    数据对象:是性质相同的数据元素的集合,是数据的一个子集
    在这里插入图片描述

  2. 数据结构的定义和分类(数据结构的三要素)
    1.数据结构的定义
    数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
    2.逻辑结构
    逻辑结构是从逻辑上描述数据,与数据的存储无关,是独立于计算机的。
    集合结构:数据元素之间除了“同属于同一集合”的关系外,没有其它的关系。
    线性结构:数据元素之间存在一对一的关系。
    树形结构:数据元素之间存在一对多的关系。
    图或网状结构:数据元素之间存在多对多的关系。
    除了线性结构,集合结构,树形结构、图或网状结构都属于非线性结构。
    3.存储结构
    顺序存储结构:是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系的
    链式存储结构:无需占用一整块的存储空间,为了表示结点之间的关系,需要为每个节点之间附件指针字段,用于存放后继元素的存储地址。
    索引存储结构:课本中没过多说,简单了解即可。
    散列存储结构:同上,知道即可。
    4.数据结构的运算

2.算法和算法标准

1.算法的定义
算法是为了解决某类问题而规定的一个有限长的操作序列。(注意,是有限长,算法必须有穷,而程序可以无穷)
2.算法的特性
一个算法必须要满足以下5个特性:(注意必须同时满足)
有穷性:一个算法必须在执行有穷步后结束,每一步都必须在有穷时间内完成;
确定性:对于每种情况下所执行的操作,算法都应该有确切的规定,不会产生二义性,算法的执行者或者阅读者都能明确其含义及如何执行;
可行性:算法中所有操作都可以通过将已经实现的基本操作运算执行有限次来实现;
输入:一个算法必须有0个或者多个输入(注意0个输入不代表没有输入)
输出:一个算法有一个或者多个输出;
3.评价一个算法优劣的基本标准
正确性:在合理的数据输入下,好的算法能够在有限次的运行时间内得到正确的结果;
可读性:一个好的算法,首先应该便于人们的理解和相互交流,其次才是机器的可执行性(简单说就是加注释)
健壮性:当输入的数据非法时,好的算法能够正确的反应,进行相应的处理,不会产生一些莫名其妙的结果;
高效性:高效性包括时间和空间两个方面。时间高效是指算法设计合理,执行效率高,用时间复杂度衡量;空间高效是指算法所用的存储容量合理,用空间复杂度来衡量,算法的时间复杂度和空间复杂度是衡量算法的两个重要指标。

3.算法的时间复杂度和空间复杂度

1.算法的空间复杂度
算法的时间复杂度就是算法所需要的存储空间,,用大O表示法表示。算法的原地工作是指算法所需的辅助空间是常数级,即空间复杂度为O(1)。
2.算法的时间复杂度
对于算法的时间复杂度,需要掌握的是算法时间复杂度的概念,计算时间复杂度的方法。对于算法时间复杂度的概念不需要过度深究,能够理解概念即可,而算法的时间复杂度的计算要熟练掌握
(1)算法的时间复杂度的概念
语句频度:该语句在算法中被重复执行的次数;
问题规模:算法求解问题输入量的多少
算法的时间复杂度:算法中基本运算的执行次数的数量级
(2)算法的时间复杂度的计算
1.单层循环
步骤:
第一步:列出循环趟数 t 以及每轮循环 i 的变化值
第二步:找到 t 与 i 的关系
第三步:确定循环停止的条件
第四步:联立第二步和第三步的式子解出关于 t 关于 n 的式子
例:
在这里插入图片描述
2.两层嵌套循环
第一步:列出外层循环i的变化值;
第二步:列出内层循环的执行次数:
第三步:求和写出结果;
例:在这里插入图片描述

`


总结

第一章绪论在408考试中直接出题的概率低,如果出题大概率就是计算算法的时间复杂度,这类问题熟练掌握后是比较好拿分的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值