02 2019 档案
摘要:一等对象 什么是一等对象: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传递给函数 能作为函数的返回结果 python中的字符串,列表什么的都是一等对象,但对如果之前只是使用c++、java语言的人们来说python中的函数也是一等对象,那一定会有一点不可思议 接下来就介绍一下这个一等对
阅读全文
摘要:2-3-4树 首先2-3-4树为什么要叫做2-3-4树因为这棵树除了叶子节点,所有的节点都只有2个孩子或3个孩子或4个孩子。这里所说的叶子结点我们当前默认全是空节点,就类似树的原来的叶子节点的孩子都是空节点,叫这些空节点叶子结点。就像这样: 说节点都只有2个孩子或3个孩子或4个孩子,说明节点有3种,
阅读全文
摘要:前言 上一篇文章讨论的二叉搜索树,其时间复杂度最好的情况下是O(log(n)),但是最坏的情况是O(n),什么时候是O(n)呢? 像这样: 如果先插入10,再插入20,再插入30,再插入40就会成上边这个样子 这个就像是双向链表,我们期望它是下面这个样子: 所以我们希望有一种策略能够将第一个图变成第
阅读全文
摘要:二叉搜索树 二叉搜索树是一种特殊的二叉树,它的特点是: 对于任意一个节点p,存储在p的左子树的中的所有节点中的值都小于p中的值 对于任意一个节点p,存储在p的右子树的中的所有节点中的值都大于p中的值 一个图例: 基于二叉搜索树的这种关系,我们可以用它来实现有序映射 遍历二叉搜索树 基于二叉搜索树的特
阅读全文
摘要:映射与字典 字典dict是Python中重要的数据结构,在字典中,每一个键都对应一个值,其中键与值的关系就叫做映射,也可以说是每一个键都映射到一个值上。 映射(map)是更具一般性的数据类型,具体到Python中就是字典。 一个简单实现 在使用字典的同时我们一定会有一个疑问,它是怎样通过键去映射到值
阅读全文
摘要:优先级队列 如果我们给每个元素都分配一个数字来标记其优先级,不妨设较小的数字具有较高的优先级,这样我们就可以在一个集合中访问优先级最高的元素并对其进行查找和删除操作了。这样,我们就引入了优先级队列 这种数据结构 最简单的优先级队列可能就是一堆不同大小的数组成的队列,每次需要取出其中最小或最大的数,这
阅读全文