python数据结构
文章平均质量分 94
python数据结构的学习笔记,一起加油!
olunano
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构与算法-树
文章目录6.树与树算法6.1二叉树6.2二叉树的遍历6.树与树算法树的概念 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树;原创 2021-02-01 20:58:07 · 214 阅读 · 0 评论 -
数据结构与算法-排序与搜索
文章目录5.排序与搜索5.1冒泡排序5.排序与搜索 排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。排序算法的稳定性 稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。 当相等的元素是无法分辨的,比如像是整数,稳定性并不是一个问题。然而,假设以下的数对将要以他们的第一个数字来排序。(4, 1) (3原创 2021-02-01 12:20:30 · 219 阅读 · 0 评论 -
数据结构与算法-栈与队列
文章目录4.栈4.1栈结构实现5.队列4.1队列的实现4.2双端队列4.栈 栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。 由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运原创 2021-01-28 19:58:02 · 104 阅读 · 0 评论 -
数据结构与算法-链表
文章目录3.链表3.1单向链表3.2单向循环链表3.3双向链表3.链表为什么需要链表 顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。 链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。3.1单向链表 单向链表也叫单链表,是原创 2021-01-28 13:23:59 · 321 阅读 · 1 评论 -
数据结构与算法-顺序表
文章目录2.顺序表2.1顺序表的基本形式2.顺序表 在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。 对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。 这样的一组序列元素的组织形式,我们可以将其抽象为线性表。一个线性表是某类元素的一个集合,还记录着元素之原创 2021-01-27 13:31:47 · 421 阅读 · 0 评论 -
数据结构与算法-概念引入
文章目录1.概念引入1.1第一次尝试1.2算法的提出1.3第二次尝试1.4算法效率衡量1.5算法分析1.6常见时间复杂度1.7Python内置类型性能分析1.8数据结构引入1.概念引入先来看一道题:如果 a+b+c=1000,且 a^2 +b^2= c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合?1.1第一次尝试# 枚举法start_time = time.time()for a in range(1001): for b in range(1001-a):原创 2021-01-26 18:18:23 · 183 阅读 · 0 评论
分享