数据结构与算法 概论——数据结构

本文详细阐述了数据结构,包括数据元素、逻辑结构(如线性、树形、图形和集合)、存储结构(顺序、链式、索引和散列)以及抽象数据类型的概念。还介绍了算法设计中的各种方法和时间复杂性的分析,重点提及了大O表示法。
摘要由CSDN通过智能技术生成

目录

数据结构是带结构的数据元素的集合

一、数据

二、结构

三、数据结构

3.1 逻辑结构(抽象)

3.2存储结构(实现)

3.3运算结构


数据结构是带结构的数据元素的集合

一、数据

数据计算机操作的对象的总称。(有很多种概念,了解即可)

数据:{数据元素(结点)}     (数据元素的集合)     

数据元素是数据结构中讨论的基本单位

        数据元素分为

                原子型:不可分割的  eg:整数5,字符"N"

                复合型 :由数据项构成    eg:描述学生的数据元素【姓名  学号  出生日期(年 月 日)】

数据项是数据结构中讨论的最小单位

       数据项分为

               原子项:不可再分  eg:姓名、学号

               组合项:eg:出生日期,由年月日组合而成

二、结构

结构是指数据元素之间存在的关系

按关系的类型可以分为

        线性结构

        树形结构

        图形结构

        集合结构

三、数据结构

3.1 逻辑结构(抽象)

从集合论的角度,数据的逻辑结构可以用二元组B = (K,R)来表示

Data_Structures = (K,R)

K是数据元素(结点)组成的有限集

B是K上关系的有限集

3.2存储结构(实现)

存储结构是逻辑结构在存储器中的映像

关系的映像方法有

        顺序方法:存储空间连续 eg:数组   访问数据元素方便但插入删除需大量移动且对存储空间要求高

        链式方法:存储空间分散,数据元素(结点)由数据域和指针域构成                                                                  存储密度小(存储密度  =  数据所占空间  比  总占空间)

        索引方法:是顺序存储的推广    

        散列方法:索引法的延伸和拓展

3.3运算结构

3.4抽象数据类型

数据模型+操作

特点:抽象、封装

一般而言,抽象数据类型可以用三元组表示:(D,R,P),即

ADT 抽象数据类型名{
    数据对象D:<数据对象的定义>
    数据关系R:<数据关系定义>
    基本操作P:<基本操作的定义>
}ADT 抽象数据类型名

D是数据对象,R是D上的关系集,D和R二者定义了数据的模型,是对数据的抽象;

P是对D的基本操作集,定义了该数据模型的功用,是对数据操作的抽象。

四、算法

概念:求解问题给出的指令序列

性质:有穷性、确定性、有效性、通用性、输入与输出特性

算法设计:穷举法、回溯法、分治法、递归法(二分检索、快速排序)、递归法、贪心法和动态规划等。

五、算法分析

计算机资源中最重要的是时间资源(处理器)空间资源(存储器)

5.1 时间复杂性

算法的渐进分析方法,简称算法分析

大O表示法:表达函数增长率上限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值