wordpress本地建站教程,网站开发系统搭建,域名反查,做天猫网站多少钱数据结构
为什么学习数据结构#xff1f; 1#xff09;c语言告诉如何写程序#xff0c;数据结构是如何简洁高效的写程序 2#xff09;遇到一个实际问题#xff0c;需要写程序去实现相应功能#xff0c;需要解决那两个方面的问题#xff1f; 如何表达数据之间的逻辑规律…数据结构
为什么学习数据结构 1c语言告诉如何写程序数据结构是如何简洁高效的写程序 2遇到一个实际问题需要写程序去实现相应功能需要解决那两个方面的问题 如何表达数据之间的逻辑规律以及如何将数据存放到计算机中 数据结构数据的逻辑结构存储结构及操作数据的运算 数据不只是一个单纯的数值而是类似于一个集合的概念 结构数据之间的关系 采用什么方法解决问题 算法 数据结构加算法就是程序
数据结构是什么 数据的逻辑结构存储结构及操作数据的运算
数据
数据不只是一个单纯的数值而是类似于一个集合的概念 数据元素是数据的基本单位由若干个基本项组成 数据项是数据的最小单位描述数据元素的信息 节点数据元素
逻辑结构
数据之间的逻辑规律和数据之间的关系 数据之间的关系 1线性关系 -----线性结构 -------一对一-------线性表 2层次关系------树形结构---------一对多---------树 3网状关系-------图状结构--------多对多----------图
存储结构
数据的逻辑结构在计算机中的具体实现
1顺序存储结构 数组在内存当中一段连续的内存空间中保存数据(如c语言中的一维数组) 2链式存储结构 特点数据在内存中是不连续的通过指针进行连接 链表
struct node_t
{int date;//数据域struct node_t * next;//指针域指向自身结构体类型
}3)索引存储结构 提高查找速度 索引表 数据文件
4散列存储结构
数据在存储的时候与关键码之间存在某种对应关系 存的时候按照对应关系存 取的时候按照对应关系取
操作运算
增删改查
算法
解决问题的思想方法
程序
用计算机语言对算法的具体实现
算法与数据结构
算法 数据结构 程序 算法的设计取决于选定的逻辑结构 算法的实现依赖于采用的存储结构顺序、链式
算法的特性
1有穷性算法的执行步骤是有限的
2确定性算法的每一步都是有明确含义的
3可行性算法能够在有限的时间内完成
4输入
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)空间复杂度
算法占用的空间大小。一般将算法的辅助空间作为衡量空间复杂度的标准。 算法占用的存储空间包括
1输入输出数据所占空间
2算法本身所占空间
3额外需要的辅助空间