https://www.bilibili.com/video/BV12E411K77F?p=3

1 栈和队列的用途 线性表(顺序表、链表 两种存放方法)

队列用于树的深度遍历
栈用来1*(2+3)

python的list tuple dict set都是高级的数据结构,而数据类型int、long、float是数据元素

3 数据结构概念

班级花名册,三种结构表示方法,list dict
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
抽象数据类型Abstract Data Type: 增删改查排序,数据属性
抽象数据类型(ADT)的含义是指一个数学模型以及定义在此数学模型上的一组操作。即把数据类型和数据类型·上的运算捆在一起,进行封装。引入抽象数据类型的目的是把数据类型的表示和数据类型上运算的实现与这些数据类型和运算在程序中的引用隔开,使它们相互独立。
在这里插入图片描述

4 算法引入

数据结构与算法
Why?我们举一个可能不太恰当的例子:如果将最终写好运行的程序比作战场,我们码农便是指挥作战的将事,而我们所写的代码便是士兵和武器
那么数据结构和算法是什么?答曰:兵法!
我们可以不看兵法在战场上肉搏,如此,可能会胜利,可能会失败。即使胜利,可能也会付出巨大的代价。我们写程序亦然:没有看过数据结构和算法,有时面对问题可能会没有任何思路,不知如何下手去解决;大部分时间可能解决了问题,可是对程序运行的效率和开销没有意识,性能低下;有时会借助别人开发的利器暂时解决了问题,可是遇到性能瓶颈的时候,又不知该如何进行针对性的优化。

如果我们常看兵法,便可做到胸有成竹,有时会事半功倍!同样,如果我们常看数据结构与算法,我们写程序时也能游刃有余、明察秋毫,遇到问题时亦能入木三分、迎刃而解。

故,数据结构和算法是一名程序开发人员的必备基本功,不是一朝一夕就能练成绝世高手的。冰冻三尺非一日之寒,需要我们平时不断的主动去学习积累。

通过三天的学习,我们希望让大家能理解其概念,掌握常用的数据结构和算法。

引入:1000内 a2+b2=c*2 ’枚举法,
列表查找复杂度n,字典1,
list:插入insert,

7 列表与字典操作时间复杂度

list
在这里插入图片描述在这里插入图片描述

8 常见的时间复杂度与大小关系

在这里插入图片描述

9 内存、类型、连续存储

在这里插入图片描述

10 顺表(顺序存储,链表存储)添加与删除元素,list,多类型元素外置

  1. python list和tuple基本实现顺序表存储
  2. 扩充 动态

11 基本顺序表和元素外围顺序表,同类型和不同类型的区别

12 顺序表的一体式结构和分离式结构

13 顺序表数据区替换和扩充

14单向循环链表

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐