数据结构。

目的:用程序代码把现实世界的问题信息化,让计算机高效的处理这些信息从而创造价值

绪论:

基本概念:

数据:是信息的载体,输入到计算机中的被计算机程序识别和处理的符号的集合,是计算机加工的原料。

数据元素数据的基本单位。一个数据元素可由若干个数据项组成,是构成数据元素不可分割的最小单位。//数据元素和数据项在不同的场景是相对的。

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

数据对象:是具有相同性质的数据元素的集合,是数据的一个子集

数据的逻辑结构;

线性结构;树形结构;网状结构

数据的物理结构(存储结构)--

顺序储存:把逻辑上相邻的元素储存在物理位置上也相邻(连续的)的存储单元中。就是元素之间是相邻的

链式储存,元素可以不相邻。借助指示元素存储地址的指针来表示元素之间的逻辑关系

索引储存,建立索引表,索引表里的每一项称为索引项,形式为(关键字,地址)

散列存储,根据元素的关键字直接计算出该元素的存储地址,称为哈希存储。

数据的运算,包括运算的定义(针对逻辑结构指出运算的功能),运算的实现(针对存储结构,指出运算的具体操作步骤)

数据结构的三要素;逻辑结构,物理结构,数据的运算。

数据类型,抽象数据类型:

数据类型是一个值的集合和定义在此集合上的一组操作的总称。

1.bool类型:值的范围:true,false

2.int类型:值的范围:-2147483648~2147483648

算法

程序=数据结构+算法(如何处理这些信息,创造出处理信息的步骤)

有穷性,算法必须是有穷的,且确定的,且可行性,要有输入和输出。

算法效率:

评判算法时间开销;

算法时间复杂度,事前预估算法时间开销T(n)与问题规模n的关系(T表示time)

如果一个算法太复杂,计算复杂程度的时候可以只考虑阶数最高的部分(比较数量级即可)

o(1)<o(log2n)<o(n)<o(nlog2n)<o(n^3)<o(2^n)<o(n!)<o(n^n)//常对幂指阶

顺序执行的代码只会影响常数项,可以忽略。只需挑循环中的一个基本操作分析他的执行次数与n的关系。

如果有多层嵌套循环,只需关注最深层循环循环了几次。

如果可能性很多的算法,就用平均值来表示。

程序运行的内存需求:

空间复杂度;s(n)=o(n),只需关注储存空间大小,与问题规模相关的变量;主要是就是看变量里的空间复杂度//在递归里面,空间复杂度=递归调用的深度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值