数据结构(C语言版)—第一章:绪论

第一章 绪论

一、什么是数据结构

二、基本概念和术语

1.数据与数据元素

  1. 数据
    是对客观事务的符号表示,它能被计算机识别、存储和加工处理。

    数据元素:由若干数据项组成,是数据的基本单位,有时也称为元素、结点、顶点或记录。

    数据项:是最小标识单位,有时也称为字段、域或属性。

  2. 数据结构
    是指数据元素之间的相互关系,即数据的组织形式。包括三方面
    (1)数据元素之间的逻辑关系
    (2)数据元素及逻辑关系在计算机存储器内的表示方式
    (3)数据运算,即对数据施加的操作

2.数据的逻辑结构和存储结构

从逻辑上讲
(1)集合结构
(2)线性结构
(3)树形结构
(4)图结构

从物理实现上讲
(1)顺序结构
(2)链式结构
(3)索引结构
(4)散列结构

3.数据的运算

数据运算是对数据施加的操作
常见基本运算:检索(查找)、插入、删除、更新、排序等

运算是在逻辑结构上定义,在存储结构上实现。

4.数据类型与抽象数据类型

  1. 数据类型

    按“值”可否分解,分为两类
    (1)原子类型:如C语言的基本类型、指针类型和空类型
    (2)结构类型:如C语言的数组类型、结构类型等

三、算法

  1. 五个特性

(1)有穷性:步骤有限,且每步都可以在有限时间内完成。
(2)确定性:算法的每条指令必须有确切的含义,不能有二义性。
(3)可行性:算法是可行的,可以通过已经实现的基本运算的有限次来执行。
(4)输入:一个算法有零个或多个输入。
(5)输出:一个算法有一个或多个输出。

四、算法分析

1. 算法评价

算法的评价指标
(1)正确性:第一层 没有语法错误;第二层 几组数据达到要求;第三层 苛刻并带有刁钻性的几组数据满足规格要求;第四层 一切合法的数据满足规格要求。
(2)可读性:便于阅读、交流和调试。
(3)健壮性:当输入非法数据时i,做出相应反应或处理,不会产生莫名其妙的结果。
(4)时空效率:**时间复杂度、空间复杂度**   用时尽可能少,占用存储空间尽可能少。

1. 算法性能分析与度量

时间复杂度:指算法运行从开始到结束所需要的时间,记作:Y(n)=O(n)。

常见时间复杂度:常数阶O (1)、对数阶O (log2n)、线性阶O (n)、 线性对数阶O (nlog2n)、平方阶O (n2)、 立方阶O (n3)、指数阶O (2n)。

空间复杂度:算法所需存储空间,记作:S(n)=O(n)。

算法效率考虑平均复杂度和最坏复杂度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值