数据结构——概念基础

发布于:2024-04-10 ⋅ 阅读:(110) ⋅ 点赞:(0)

1.数据结构

数据的逻辑结构存储结构及操作(数据的运算)

1.1数据

数据:不只是一个单纯的数值,而是类似于一个集合的概念
数据元素:是数据的基本单位,由若干个基本项组成
数据项:是数据的最小单位,描述数据元素的信息

1.2逻辑结构

数据之间的逻辑规律和数据之间的关系
数据之间的关系
1)线性关系 -----》线性结构-------》一对一------》线性表
2)层次关系------》树形结构---------》一对多---------》树
3)网状关系-------》图状结构--------》多对多----------》图

1.3存储结构

数据的逻辑结构在计算机中的具体实现
1)顺序存储结构
数组:在内存当中一段连续的内存空间中保存数据(如c语言中的一维数组)
2)链式存储结构
数据在内存中是不连续的,通过指针进行连接
3) 索引存储结构
提高查找速度
索引表 + 数据文件
4)散列存储结构
数据在存储的时候与关键码之间存在某种对应关系

1.4操作(运算)

增 删 改 查

2.算法

2.1算法与程序

算法:解决问题的思想方法
程序:用计算机语言对算法的具体实现

2.2算法与数据结构

算法+数据结构=程序

算法的设计:取决于选定的逻辑结构
算法的实现:依赖于采用的存储结构(顺序、链式)

2.3算法的特性

1)有穷性:算法的执行步骤是有限的
2)确定性:算法的每一步都是有明确含义的
3)可行性:算法能够在有限的时间内完成
4)输入
5)输出

2.4如何评价一个算法的好坏?

正确性:保证算法可以正确完成功能
易读性:容易被解读
健壮性:容错处理
高效性:执行效率,算法执行快慢容易受到计算机性能的影响,
不可以作为评判算法高效性的标准,这通过可执行语句重复执行
次数来衡量算法是否高效 。(时间复杂度)
低存储性:占用空间小(空间复杂度)

2.5时间复杂度

算法的可执行语句重复执行的次数
通常时间复杂度用一个问题规模函数来表达
T(n) = O(f(n))
T(n) 问题规模的时间函数
n 问题规模
O 时间数量级
f(n) 算法的可执行语句重复执行的次数 用问题规模n的某个函数f(n)来表达
计算大O的方法

  1. 根据问题规模n写出表达式f(n)
  2. 只保留最高项,其他项舍去
  3. 如果最高想系数不为1,除以最高项系数
  4. 如果有常数项,将其置为1//f(n)=8;O(1)

2.6空间复杂度

算法占用的空间大小。一般将算法的辅助空间作为衡量空间复杂度的标准。
算法占用的存储空间包括:
1)输入输出数据所占空间
2)算法本身所占空间
3)额外需要的辅助空间


网站公告

今日签到

点亮在社区的每一天
去签到