数据结构复习整理之基本概念及线性表


前言

个人复习内容整合,勿喷!!!


一、基本概念

  • 1、数据:二进制0和1

  • 2、数据元素:数据的基本单位

  • 3、数据结构:强调数据元素之间的关系

  • 4、数据对象:强调数据元素具有相同性质

  • 5、数据结构三要素:逻辑结构、物理结构、数据的运算
    (1)逻辑结构:包括集合、线性结构、树形结构、图结构
    (2)物理结构:又叫存储结构。包括顺序结构、链式存储、索引存储、散列存储(哈希存储)
    注意:

    • ①链式存储借助元素存储地址的指针来表示元素之间的逻辑关系
      ②采用顺序存储,则各个数据元素在物理上必须是连续的
      采用非顺序存储,则各个数据元素在物理上可以是离散的
      ③数据的存储结构会影响存储空间分配的方便程度

    (3)数据的运算:

    • ①运算的定义是针对逻辑结构的
      ②运算的实现是针对存储结构的
  • 6、数据类型:原子类型(bool、int)、结构类型

  • 7、抽象数据类型:(ADT)

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

  • 9、算法效率的度量
    (1)时间复杂度
    (2)空间复杂度=递归调用的深度

二、线性表

1.概念

线性表:具有相同数据类型的n个数据元素的有限序列

2.基本操作

代码如下(示例):

InitList(&L)  //初始化表
DestroyList(&L)  //销毁
ListInsert(&L, i ,e)  //插入
ListDelete(&L, i ,&e)  //删除
LocateElem(L , e)  //按值查找
GetElem(L ,i)  //按位查找 
Length(L)  //求表,返回线性表L的长度
PrintList(L)  //输出操作,按前后顺序输出L的所有元素值
Empty(L)  //判空操作;若L为空返回true,否则返回false

三、小Tips——时间复杂度

1.常用计算规则

(1)加法规则:O(f(n)) + O(g(n)) = O(max(f(n) , g(n)))
(1)乘法规则:O(f(n)) × O(g(n)) = O(f(n) × g(n))

2.三种复杂度

(1)最坏时间复杂度:考虑输入数据“最坏”的情况
(2)平均时间复杂度:考虑所有输入数据都等概率出现的情况
(3)最好时间复杂度:考虑输入数据“最好”的情况
O(1) < ![O(log2n)](https://img-blog.csdnimg.cn/20210701114205480.png)< O(n) < O(nlog2n) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)***

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘今天进步了嘛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值