摘要:堆 (heap) 是一种经过排序的完全二叉树,其中任一非叶子节点的值均不大于(或不小于)其左孩子和右孩子节点的值。 注:定义来自百度百科。 堆,又被为优先队列(priority queue)。尽管名为优先队列,但堆并不是队列。 其他概念解释 最大堆 根结点的键值是所有堆结点键值中最大者。 最小堆 根
阅读全文
摘要:字典树,又称单词查找树,Trie 树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 注:定义来自百度百科
阅读全文
摘要:树 (tree) 是一种非常高效的非线性存储结构。树,可以很形象的理解,有根,有叶子,对应在数据结构中就是根节点、叶子节点,同一层的叶子叫兄弟节点,邻近不同层的叫父子节点,非常好理解。 注:定义来自百度百科。 其他概念解释 二叉树,就是每个节点都至多有二个子节点的树。 二叉树,就是每个节点都至多有二
阅读全文
摘要:线性数据结构 栈 队列 链表 非线性数据结构 树 字典树 堆 图 并查集
阅读全文
摘要:队列 (queue) 是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 队列符合先进先出[FIFO]的原则。因为要排队的第一个项目,最终将是
阅读全文
摘要:双向链表(Double_linked_list)也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。 这里直接给出参考代码,大家有兴趣请自行探索,这里就不再详细介绍。 在/home/sh
阅读全文
摘要:建议遵守以下约定: 使用 4 个空格来缩进 永远不要混用空格和制表符 在函数之间空一行 在类之间空两行 字典,列表,元组以及参数列表中,在 , 后添加一个空格。对于字典,: 后面也添加一个空格 在赋值运算符和比较运算符周围要有空格(参数列表中除外),但是括号里则不加空格:a = f(1, 2) +
阅读全文
摘要:通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小、是否在现有图片的基础上生成、是否生成动态二维码。 1.1 知识点 Python3基础 MyQR库 1.2 下载MyQR pip3 install MyQR 1.3 代码和对应的效果截图 1.3.1 普通二维码 1.3.2 带图片的
阅读全文
摘要:链表(linked_list)是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现,每个元素包含两个结点,一个是存储元素的数据域 (内存空间),另一个是指向下一个结点地址的指针域。根据指针的指向,链表能形成不同的结构,例如单链表,双向链表,循环链表等。 链表通过将链
阅读全文
摘要:栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。 栈允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。 由于堆叠数据结
阅读全文
摘要:https://www.shiyanlou.com/questions/171567/?utm_source=baidu&utm_medium=cpc&utm_campaign=java&utm_term=keywords&renqun_youhua=417256
阅读全文
摘要:http://www.blogjava.net/zjusuyong/articles/304788.html https://blog.csdn.net/Alexshi5/article/details/79875120
阅读全文