自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 python数据结构与算法系列-----二叉树

python数据结构与算法系列树与树算法树的概念树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:1.每个节点有零个或多个子节点;2.没有父节点的节点称为根节点;3.每一个非根节点有且只有一个父节点;4.除了根节点外,每个子节点可以分为多个不相交的子树;树的术语节

2021-06-16 00:25:35 139

转载 python数据结构与算法系列-----归并排序,二分查找

python数据结构与算法系列归并排序归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。代码实现在归并排序中,我们是先将列表一分为二,然后再对左右列表继续二分,以此类推,然后开始比较大小,一个个合并回去。时间复杂度最优时间复杂度:O(nlogn)最坏时间复杂度:

2021-06-09 14:29:24 151

原创 python数据结构与算法系列-----希尔排序,快速排序

python数据结构与算法系列希尔排序希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。实现过程希尔排序的基本思想是:将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列(步长更长了

2021-05-12 22:28:21 99

原创 python数据结构与算法系列-----栈、队列、排序

python数据结构与算法系列栈栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。栈结构的实现栈可以用顺序表实现,也可以

2021-05-11 10:54:15 145

原创 python数据结构与算法系列-----双链表与单向循环链表

python数据结构与算法系列双向链表接下来我们来研究双向链表,双向链表的每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。基本操作双向链表的基本操作和之前介绍的单向链表类似:is_empty() 链表是否为空length() 链表长度travel() 遍历链表add(item) 链表头部添加append(item) 链表尾部添加insert(pos, item) 指定位置添加remove(item

2021-04-24 17:02:24 107

原创 python数据结构与算法系列

python数据结构与算法系列链表我们之前介绍了顺序表的相关内容,了解到如果要构建顺序表就需要知道数据的大小,然后再申请存储空间,而且在扩充时也需要进行数据搬迁,使用起来很不方便。因此我们引入链表的概念,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表是一种常见的基础数据结构,是一种线性表,但其存储数据的方式与顺序表不同,链表是在每个节点里存放下一个节点的位置信息,如下图所示。单向链表单向链表又称单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)

2021-04-22 11:47:28 66

原创 python数据结构与算法系列

python数据结构与算法系列顺序表在程序中,我们经常需要将一组数据元素(通常是同为某个类型的)作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。为了满足这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序来表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。这样的一组序列元素的组织形式,我们可以将其抽象为线性表。一个线性表是某类元素的一个集合,还记录着元素之间的一种顺序关系

2021-04-16 11:25:57 91

原创 python数据结构与算法系列

python数据结构与算法系列概念引入我们先看一个简单的问题:如果 a+b+c=1000,且 a2+b2=c2(a,b,c 为自然数),如何求出所有a、b、c可能的组合?看到此题,我们的第一想法应该是让计算机遍历所有的a、b、c,然后代入我们的条件式,找到符合的组合,这也是计算机比人更擅长做的事。我们可以先试着实现上述的想法,看看会花费我们多长时间。根据题目我们可以知道a、b、c一定小于1000,而且a、b、c需要同时进行遍历,因此我们想到使用嵌套for循环。我们得出了4组符合条件的结果。此外

2021-04-11 15:18:49 372

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除