数据结构(C语言版)_绪论

本文介绍了数据结构的基本概念,包括数据、数据元素、数据对象及数据结构等,并详细解析了算法的时间复杂度及其评估方法,同时探讨了递归算法的设计法则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里简单记录自己数据结构的学习(肤浅的认识_解,析,思)

绪论

数据:生活中能够用到的,以及能够被人们用来分析某一特征趋势的名词;

计算机程序所需要的“原料”,也即是计算机操作对象的原料。

数据元素:类似于集合中元素的概念,如果定义一个很大的数据集为一个集

合,那么其中构成这个庞大数据的数据子元就是其数据元素。

数据对象:性质相同数据元素的集合,相当于是数据的一个子集,当然我的

理解也可以是几个子集的交集,真子集。

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

性质,这种结构存在于数据元素之间的关系肯定是很重要的,这一门课程的

学习也是围绕它展开的。

这里以后做下面四种结构的学习,(1)集合,应该是最基本最简单的从属关

系;(2)线性结构,一对一关系;(3)树形结构,一对多的关系;(4)图

状结构,多对多的关系。

数据结构可定义为一个二元组:Data Structure = (D,S)

抽象数据类型可定义为一个三元组:(D,S,P)

顺序映像(顺序存储结构):元素在存储器中的相对位置表示的数据元素之间

的逻辑关系(其中包含C常量为隐藏值);

非顺序映像(链式存储结构):借助指针(作为附加信息)来表示数据之间的

逻辑关系。

常见函数结果状态代码

#define TURE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2

 

算法,对特定问题步骤的描述,有限序列的操作

时间复杂度,T(n) = O(f(n))

抬个栗子,O(1),O(n),O(n²)分别为常量阶,线性阶,平方阶。

由此我们可以清楚,这个是一个叠加的过程,类似于重复操作的过程,这

也就是频度

我们不由想到C语言中的递推,这是我们观察分析得出的一个以数学表达式

为工具的规律,由特殊推一般。而这里我们就要去找的是基准情形,而对时

间复杂度,我们找的是表达式中最高次数的数值。

综上所述,递归有几个基本法则:

1.基准情形 不需要递归表达式就能解出;

2.不断推进 每次的递归调用,都需要朝着基础情形的方向推进;

3.设计法则 递归无措能够运行;

4.合成效益法则 解决同一个实例,不应该去在不同的递归调用做

重复性工作(菲波拉契数)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值