
数据结构
文章平均质量分 66
Bayesian小孙
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法与数据结构Python——Lesson6
二叉树的基本概念二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)二叉树的遍历树的遍历是树的一种重要的运算。所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次,我们把这种对所有节点的访问称为遍历(traversal)。那么树的两种重要的遍历模式是深度优先遍历和广度优先遍历,深度优先一般用递归,广度优先一般用队列。一般情况下能用递归实现的算法大部分也能用堆栈来实现。深度优先遍历原创 2022-05-07 18:18:27 · 193 阅读 · 0 评论 -
数据结构与算法Python——Lesson5
希尔排序希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。基本步骤:将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列(步长更长了,列数更少了)来进行。最后整个表就只有一列了。将数组转换至表是为了更好地理解这算法,算法本身还是使用数组进行排序。def shell_sort(alist): n =len(alist) # 初始步长 gap = n // 2原创 2022-05-03 17:41:23 · 244 阅读 · 0 评论 -
数据结构与算法(Python)——Lesson4
冒泡排序def bubble_sort(alist): for j in range(len(alist)-1,0,-1): # j表示每次遍历需要比较的次数,是逐渐减小的 for i in range(j): if alist[i] > alist[i+1]: alist[i], alist[i+1] = alist[i+1], alist[i]li = [54,26,93,17,77,31,4原创 2022-04-25 21:53:40 · 233 阅读 · 0 评论 -
数据结构与算法(Python)——Lesson3
双向链表一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。class Node(object): """双向链表节点""" def __init__(self, item): self.item = item self.next = None self.prev = Noneclass DL.原创 2022-04-25 16:28:05 · 152 阅读 · 0 评论 -
数据结构与算法Python- Lesson3
链表链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。通俗来讲,链表就是由节点组合起来的一条数据链,其中每个节点不仅包含了自己保存的数据,还记录下个节点指向的信息。模拟单向链表的内存管理向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。表元素域elem用来存放具体的数据。 链接域next用来存放下一个节点的位置(python中的标识) 变量p指.原创 2022-04-19 14:13:55 · 188 阅读 · 0 评论 -
数据结构与算法(Python)——Lesson2顺序表
内存存储的最小单位为字节(Byte),一个字节由8位组成,内存就是由无数个字节按照顺序排列起来的。在Python中,所有的值都与内存相关,例如正常的int类型或者在str类型,并且在32位机子中,一个int类型的值在内存中是由4个字节存储。如果存了一个int型1,那么在内存中为:00000000000000000000000000000001字符串是由一个或多个字符组成的,一个字符在内存中是由一位存储的。顺序表的概念在程序中,经常需要将一组(通常是同为某个类型的)原创 2022-04-14 12:44:55 · 188 阅读 · 0 评论 -
数据结构与算法(Python)——Lesson1
算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务。一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用。算法是独立存在的一种解决问题的方法和思想。对于算法而言,实现的语言并不重要,重要的是思想。算法可以有不同的语言描述实现版本(如C描述、C++描述、Python描述等),我们现在是在用Python语言进行描述实现。算法的五大特性输入: 算法具有0个或多个输入 输出: 算法至少有原创 2022-04-12 12:48:13 · 281 阅读 · 0 评论