数据结构—基础知识

首先了解一下数据结构中的概念(只为了对其有了感性认识)

数据:描述客观事物的符号,是计算机中可以操作的对象,能够被计算机识别,并输入给计算机处理的集合符号。

数据不仅仅包括数值,还包括视频、音频、图片等等

数据元素:是组成数据的、具有一定意义的基本单位,在计算机中通常作为一个整体进行处理,也称为记录。

数据项:一个数据元素由若干个个数据项组成。

可以将数据元素理解我数据库中的一条记录,而数据项使其对应的属性。数据项是数据不可分割的最小单位。数据项是数据的最小单位,数据元素是数据结构中讨论的最小单位。

数据对象:是性质相同数据元素的集合,是数据的子集。

那么什么是数据结构呢?

是相互之间存在一种或多种特定关系的集合。


数据>数据对象>数据元素>数据项


按照视点不同,可以将数据结构可以分为逻辑结构和物理结构

逻辑结构:数据对象中数据元素之间的相互关系。

逻辑结构|

                |—集合结构:集合结构中,数据元素除了同属一个集合,没有其他关系

                |—线性结构:线性结构中数据元素之间是一对一的关系

                |—树结构:树结构之间的数据元素是一对多关系

                |—图结构:图结构之间的数据元素是多对多的关系

物理结构:数据的逻辑结构在计算机中的存储形式

物理结构|

                |—顺序存储结构:把数据元素存放到放到地址连续的存储单元中,其数据间的逻辑关系和物理关系一致。

                |—链接存储结构:把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。


抽象数据类型(Abstract Data Type)ADT

数据类型:一组性质相同的值的集合及其定义在该集合上的一些操作。

什么叫做抽象?

抽取事物具有的普遍性的本质。抽取出问题的特征忽略非本质的细节,是对事物的一个概括。

what is ADT?

是指一个数学模型,及其定义在该模型上的操作。他包括数据及其对数据的操作。

ADT 抽象数据类型名

Data

        数据元素之间的逻辑关系的定义

Operation

        操作1

                 初始化条件

                 操作结果描述

        操作2

                 ......

        操作n

                 .......

endADT

抽象数据类型体现了:问题分解、抽象和信息隐藏。


什么是算法?

解决特定问题求解步骤的描述,在计算机中表示为指令的有序序列,并且每个指令表示一个或多个操作。

算法的特性:输入输出、有穷性、确定性、可行性

算法的度量—时间复杂度

进行算法分析是,总的语句执行次数T(n)是关于n的函数,进而分析T(n)随n的变化情况并确定数量级。算法时间复杂度用O(f(n))表示,表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,所以称为算法的渐进时间复杂度,简称时间复杂度。

求取算法时间复杂度:

推到大O阶:

1、用常数1取代运行时间中的所有加法常数

2、修改后的运行次数函数中,只保留最高阶项

3、去除与这个最高项的相乘的常数

常用的时间复杂度排序:

O(1)<O(logn)<O(nlogn)<O(n2)【n的2次方】<O(n3)【n的三次方】<O(2n) 【2的n次方】<O(n!)<O(nn)【n的n次方】

一般我们指的是最坏时间复杂度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值