数据结构(C语言版) 1

程序 = 算法 + 数据结构

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

数据:客观的符号表示,是所有能输入计算机中并被计算机程序处理的符号总称.

数据元素:是数据的基本单位.(例:一个学生的全部信息)用于完整地描述一个对象,也被称为元素,记录

数据项:组成数据元素的最小单位.(;例:一个学生的学号),只要集合内元素性质均相同,可称为一个数据对象

数据对象:性质相同的数据元素的集合,是数据的一个子集.(例:学生基本信息表)

2.数据结构

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

数据结构包括  逻辑结构  和   存储结构   两个层次.

(1).逻辑结构

数据的逻辑结构是从逻辑关系上描述数据,与数据的存储无关,是独立于计算机的.

两要素:1.数据元素   2.关系(元素间的逻辑关系)

集合结构:数据元素间除了属于同一集合外,别无关系

线性结构:元素之间存在一对一的关系.  (一个节点有且只有一个前趋和一个后继,有且只有一个开始                 节点和一个终端节点)

树结构:元素之间存在一对多的关系(有一个前驱,多个后继 根节点无前趋,叶节点无后继)

图结构或网状结构:元素之间存在多对多的关系(一个节点有多个前驱,多个后继)

其中  集合结构,图结构,树结构,网状结构都属于非线性结构

(2).存储结构

数据对象在计算机中的存储表示称为数据的存储结构,也称为物理结构.

数据元素在计算机中有两种基本存储结构,分别是顺序存储结构和链式存储结构

顺序存储结构:借助元素在存储器中的 相对位置 来表示数据间的逻辑关系.

链式存储结构:借助指示元素存储地址的 指针 来表示数据间的逻辑关系

顺序存储结构要求所有元素依次存放在一片连续的存储空间中,链式存储结构无需占用一整块存储空间

算法

定义:是为了解决某类问题而规定的一个有限长的指令集

五个特性:1.有穷性  2.确定性  3.可行性  4.输入(0个或多个)  5.输出(一个或多个)

评价算法优劣的基本标准:  正确性  可读性  健壮性  高效性

算法的描述: 自然语言  流程图  程序设计语言  伪代码

算法分析的两个主要方面:时间复杂度  空间复杂度

为了客观反映一个算法的执行时间,可以只用算法中的"基本语句"执行次数来度量算法的工作量

基本语句:指的是算法中重复执行次数和算法的执行时间成正比的语句,对算法的运行时间的贡献最大

算法的时间复杂度:   T(n) = O(f(n))

1.在计算算法时间复杂度时,可以忽略所有低次幂项和最高次幂的系数,只取最高次幂

2.算法的执行时间是一个与问题规模n无关的常数,算法复杂度 T(n) = O(1) 称为常量阶

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值