随笔分类 -  数据结构

摘要:作用:美观打印数据结构。 pprint包含一个“美观打印机"(pprint printer),用于生成数据结构的一个美观视图。格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅读。输出尽可能放在一行上,分解为多行是则需要缩进。 1.打印 要使用这个模块,最简单的方法就是利 阅读全文
posted @ 2020-03-27 16:01 King~~~ 阅读(258) 评论(0) 推荐(0)
摘要:作用:提供一些函数,可以使用浅副本或深副本语义复制对象 1.浅副本 copy()创建的浅副本(shallow copy)是一个形容器,其中填充原对象内容的引用,建立list对象的一个浅副本时,会构造一个新的list.并将原对象的元素追加到这个list。 1.深副本 deepcopy()创建的深副本是 阅读全文
posted @ 2020-03-26 17:51 King~~~ 阅读(244) 评论(0) 推荐(0)
摘要:作用:提供一个线程安全的FIFO实现。 Queue模块提供了适用于多线程编程的先进先出数据结构,可以用来在生产者和消费者线程之间安全地传递消息或其他数据。它会为调用者处理锁定,是多个线程可以安全地处理同一个Queue实例。Queue的大小(其中包含的元素个数)可能要受限,以限制内存使用或处理。 1. 阅读全文
posted @ 2020-03-25 15:16 King~~~ 阅读(657) 评论(0) 推荐(0)
摘要:作用:维护有序列表,而不必再每次向列表,而不必在每次向列表增加一个元素是都调用sort排序。 bisect模块实现了一个算法用于向列表中插入元素,同时仍保持列表有序。有些情况下,这笔反复对一个列表排序更高效,另外也比构建一个大列表之后再显示对其排序更为高效。 1.有序插入 import bisect 阅读全文
posted @ 2020-03-24 13:46 King~~~ 阅读(172) 评论(0) 推荐(0)
摘要:定义: 堆(heap)是一个树形结构,其中子节点与父节点是一种有序关系。二叉堆(Binaryheap)可以使用如下方式组织的列表或数组表示,即元素N的子元素位于2*N+1和2*N+2(索引从0开始)。这种允许原地从新组织对,从而不必再增加或删除分配大量内存。 最大堆(max-heap)确保父节点大于 阅读全文
posted @ 2020-03-23 21:31 King~~~ 阅读(328) 评论(0) 推荐(0)
摘要:1.Counters作为一个容器,可以跟踪相同的值增加了多少次。这个类可以用来实现其他语言中常用包(bag)或多集合(multiset)数据结构来实现的算法。 初始化 Counter支持3中形式的初始化。调用Counter的构造函数时可以提供一个元素序列或者一个包含键和计数的字典,还可以使用关键字参 阅读全文
posted @ 2020-03-22 13:55 King~~~ 阅读(196) 评论(0) 推荐(0)