数据结构的介绍

1.什么是数据结构

数据结构 = 数据 + 结构

数据结构的定义:

数据结构是计算机中存储、组织数据的方式(保存了一些互相存在关系的数据的集合)

用途:数据的组织以及操作

​ 组织:数据在内存中的状态【连续、不连续、线性、非线性】

​ 操作:增删改查【效率】

数据结构的合适与否直接影响程序设计的难易程度

2.逻辑结构与物理结构

逻辑结构:脑海中数据的主观结构

物理结构:内存中数据的客观结构

eg1:数组存储中arr[0] = 10, arr[1] = 100,在物理结构上100在10的后面,在逻辑结构上100不一定在10的后面。

eg2:学号为1的同学不一定要坐在学号为2的同学后面。学号满足逻辑连续,但座位不满足物理连续。

3.数据结构基础

(1)线性表

①顺序表

②链表

(2)栈与队列

①栈

②队列

(3)排序

①基础排序

②快速排序

③归并排序

4.数据结构进阶

(1)树型结构基础

​ ①二叉树

​ ②二叉查找树

(2)树型结构应用

​ ①二叉堆

​ ②并查集

(3)哈希表

5.学习方法

主要注重 逻辑能力实现能力

不会写—>看懂别人写—>模仿—>自己尝试

1.画图模拟

2.先思考再看题解

3.出bug先调试,模拟调式

6.时间复杂度

时间复杂度是一个多项式函数,表示一段程序的运行时间。一般假设每条语句的运行时间为一个单位【O(1)】

大O表示法:一种描述渐进运行时间级别的方法。

表示规则:对于一个表示运行时间的多项式而言,舍弃其 非最高项最高项系数。【3n^2 + 5n + 10 = O(n^2)】

时间复杂度的分析要点在于最内层循环的执行次数,而不在于循环的层数

7.空间复杂度

和时间复杂度相似,空间复杂度也是一个多项式函数,表示一段程序运行时需要的存储空间大小。也用大O表示法来表示渐进的空间复杂度。

eg:空间复杂度为O(n * m)

arr[n][m]; //额外的辅助数组

8.常见复杂度级别

复杂度级别复杂度举例
常数级别O(1)
对数级别O(log(n))
根号级别O(sqrt(n))
线性级别O(n)、O(m)、O(n + m)
幂次级别O(n2)、O(n3)
指数级别O(2^n)
阶乘级别O(n!)

关于线性表各部分的解析与代码演示将持续更新

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值