数据结构学习笔记(1)——基础概念

程序设计=数据结构+算法

数据结构

1 什么是数据结构?

  • 数据: 是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
  • 结构:不同数据元素之间不是独立的,而是存在特定的关系,我们将这些关系称为结构。

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

2 数据结构分类

在这里插入图片描述

2.1逻辑结构

是指数据对象中数据元素之间的相互关系。

  1. 集合结构: 集合结构中的数据元素除了同属于一个集合外,它 们之间没有其他关系。

在这里插入图片描述

  1. 线性结构:线性结构中的数据元素之间是一对一的关系

在这里插入图片描述

  1. 树形结构; 树形结构中的数据元素之间存在一种一对多的层次关系
    在这里插入图片描述
  2. 图形结构: 图形结构的数据元素是多对多的关系
    在这里插入图片描述

2.2物理结构

是指数据的逻辑结构在计算机中的存储形式口

  1. 顺序存储结构: 是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的
    在这里插入图片描述
  2. 链式存储结构: 是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的
    在这里插入图片描述

3 抽象数据类型(Abstract Data Type)

  • 数据类型: 是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。

  • 抽象:是指抽取出事物具有的普遍性的本质。

    抽象数据类型:是指一个数学模型及定义在该模型
    土的一组操作。

抽象数据类型:只描述数据对象集和相关操作集“是什么”,并不涉及“如何做到”的问题

抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性。

在这里插入图片描述
在这里插入图片描述

算法(Algorithm)

算法是解决特定问题求解步殊的描述,在计算机中表现为指令的有限序列.并且每条指令裹示一个或多个操作。

1 算法的特性

算法具有五个纂本特性:输入、输出、有穷性、确定性和可行性

2 算法设计的要求

  • 正确性:算法的正确性是指算法至少应该具有输入、输出和加工处理无歧义性、能正确反映问题的需求、能够得到问题的正确答案。

  • 可读性:算法设计的另一目的是为了便于阅读、理解和交流。

  • 健壮性:当输入数据不合法时,算法也能做出相关处理,而不是产生异常或莫名其妙的结果。

  • 时间效率高和存储最低

3 算法时间复杂度

时间复杂度T(n) —根据算法写成的程序在执行时耗费时间的长度。这个长度往往也与输入数据的规模有关。时间复杂度过高的低效算法可能导致我们在有生之年都等不到运行结果
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

4 算法空间复杂度

空间复杂度S(n) —— 根据算法写成的程序在执行时占用存储单元的长度。这个长度往往与输入数据的规模有关。空间复杂度过高的算法可能导致使用的内存超限,造成程程序非正常中断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值