
数据结构与算法Python
这是我在学习数据结构与算法是遇到的问题以及自己的感悟
灰基客
这个作者很懒,什么都没留下…
展开
-
Python实现循环单链表
循环单链表(Circular single linked list)时单链表的一种简单变形,只需将尾结点rear的next指向头节点head就完成了。与单链表不同的地方在于扫描循环的结束控制。原创 2021-08-03 10:49:03 · 812 阅读 · 0 评论 -
Python单链表的解析
本文章是我在学完数据结构后再回过头来链表操作的事件复杂度:创建空链表:O(1)删除表:在Python里是O(1).当然,Python解释器做存储管理也需要时间判断空表:O(1)首端加入(或删除)元素:O(1)尾端加入(或删除)元素:O(n)定位加入(或删除)元素:O(n),平均或最坏的情况其它删除元素:O(n),通常需要扫描整个表或者表的一部分单链表的基本操作ADT Single Linked List 单链表的抽象数据类型 is_empty(self) .原创 2021-08-01 16:16:19 · 632 阅读 · 0 评论 -
Python实现二叉树的深度优先遍历和广度优先遍历
二叉树的遍历分为深度优先遍历和广度优先遍历 。 深度优先遍历顾名思义是从树的一条分支走到底才进行回溯,深度优先遍历又分为前序遍历,中序遍历和后序遍历。 一棵二叉树由根结点、左子树和右子树三部分组成,若规定 D、L、R 分别代表遍历根结点、遍历左子树、遍历右子树。DLR--前序遍历(根在前,从左往右,一棵树的根永远在左子树前面,左子树又永远在右子树前面)LDR--中序遍历(根在中,从左往右,一棵树的左子树永远在根前面,根永远在右子树前面)...原创 2021-06-30 23:18:43 · 1037 阅读 · 3 评论 -
快速排序Python代码实现
快速排序(Quick Sort)是通过分治的思想来进行排序,它的主要思想是:取数组中的一个数作为基准值(往往取数组中的第一个数),把所有小于基准值的数都放在它的一侧,再把所有大于基准值的数都放在它的you'ce...原创 2021-06-16 16:24:40 · 7199 阅读 · 6 评论 -
设置尾结点域的单链表
本人是一个菜鸟,希望通过写写博客的方式来记录我在学习上遇到的一些困难,并以此来督促自己投入到学习中来。 之几天一直在研究栈和队列,在写用链表实现队列的时候要频繁的使用入队操作,我发现我并不会在尾结点出设置尾结点域,所以就回过头来看了看单链表的变形。 在尾结点处设置尾结点域需要设置两个变量,一个是头结点另一个当然就是尾结点,在写程序的过程中需要不断的维护这两个变量,其实设置尾结点域并不是特别难只需要在单链表的基础上进行一些变动就可以完成。 ...原创 2021-06-28 13:42:37 · 513 阅读 · 0 评论