摘要:数据结构堆(heap)是一种优先队列。使用优先队列能够以任意顺序增加对象,并且能在任意的时间(可能在增加对象的同时)找到(也可能移除)最小的元素,也就是说它比python的min方法更加有效率。 1、heappush(heap,n)数据堆入 In [1]: import heapq as hq In 阅读全文
posted @ 2020-12-30 20:18 邱明成 阅读(19) 评论(0) 推荐(0) 编辑
摘要:在python中,普通的列表list和numpy中的数组array是不一样的,最大的不同是:一个列表中可以存放不同类型的数据,包括int、float和str,甚至布尔型;而一个数组中存放的数据类型必须全部相同,int或float。 ​ 在list中的数据类型保存的是数据的存放的地址,简单的说就是指针 阅读全文
posted @ 2020-12-25 11:08 邱明成 阅读(148) 评论(0) 推荐(0) 编辑
摘要:1.定义 闭包是函数式编程的一个重要的语法结构,函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(re 阅读全文
posted @ 2020-12-24 20:56 邱明成 阅读(19) 评论(0) 推荐(0) 编辑
摘要:我们知道python只定义了6种数据类型,字符串,整数,浮点数,列表,元组,字典。但是C语言中有些字节型的变量,在python中该如何实现呢?这点颇为重要,特别是要在网络上进行数据传输的话。 struct.pack(fmt, v1, v2, …) Return a string containing 阅读全文
posted @ 2020-12-24 10:51 邱明成 阅读(33) 评论(0) 推荐(0) 编辑
摘要:基数排序是非比较排序算法,算法的时间复杂度是O(n). 相比于快速排序的O(nlgn),从表面上看具有不小的优势.但事实上可能有些出入,因为基数排序的n可能具有比较大的系数K.因此在具体的应用中,应首先对这个排序函数的效率进行评估. 基数排序的主要思路是,将所有待比较数值(注意,必须是正整数)统一为 阅读全文
posted @ 2020-12-15 00:00 邱明成 阅读(9) 评论(0) 推荐(0) 编辑
摘要:https://www.bilibili.com/video/av61988698/ 阅读全文
posted @ 2020-12-09 21:30 邱明成 阅读(22) 评论(0) 推荐(0) 编辑
摘要:queue 模块即队列,特别适合处理信息在多个线程间安全交换的多线程程序中。下面我们对 queue 模块进行一个详细的使用介绍。 1 queue 模块定义的类和异常 queue 模块定义了以下四种不同类型的队列,它们之间的区别在于数据入队列之后出队列的顺序不同。 1.1 queue.Queue(ma 阅读全文
posted @ 2020-11-26 23:22 邱明成 阅读(211) 评论(0) 推荐(0) 编辑
摘要:贪婪算法的解题思路 [toc] 本来想叫《贪婪算法的设计思想》的,但是觉得写的不够深,纯粹以解题为目的的复习还是不要这么写好。 贪婪法,又称贪心算法,是寻找最优解问题的常用方法,方法模式是在求解过程的每个步骤应用贪心原则: 每个步骤选取当前状态下最好的或最优的选择(局部最有利选择) 问题:最后堆叠的 阅读全文
posted @ 2020-11-26 00:12 邱明成 阅读(29) 评论(0) 推荐(0) 编辑
摘要:Python在使用os包的过程中,经常遇到返回wen文件路径的方法,那os.path.abspath()和os.path.realpath()的区别是什么呢,有时候傻傻分不清楚,现在我们就来用实例来说明下,他两个的区别: 1.os.path.abspath() 返回一个目录的绝对路径 Return 阅读全文
posted @ 2020-11-19 16:51 邱明成 阅读(405) 评论(0) 推荐(0) 编辑
摘要:Python 里面的编码和解码也就是 unicode 和 str 这两种形式的相互转化。编码是 unicode -> str,相反的,解码就 是 str -> unicode。剩下的问题就是确定何时需要进行编码或者解码了.关于文件开头的"编码指示",也就是 # -*- coding: -*- 这个语 阅读全文
posted @ 2020-11-18 01:11 邱明成 阅读(51) 评论(0) 推荐(0) 编辑