- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 Algorithm_Illminated(Part_1)整数乘法(1-3 Karatsuba乘法)
The Integer MultiplicationProblem: Integer MultiplicationInput: 两个n位非负整数,x和youtput: x和y的乘积(product)The Grade-School Algorithm 为了唤起你的记忆,考虑x = 5678和y = 1234相乘的具体例子(所以n = 4)。参见图1.1。该算法首先计算第一个数字和第二个数字的最后一个数字的部分乘积5678 * 4 = 22712。计算这个部分积归结为将第一个输入(x)的每
2021-02-10 15:04:10 511
原创 python中拆包操作的详解(*和**操作符)
PEP448 额外的拆包概念这个PEP提出了*的可迭代拆包操作和**字典拆包操作的延伸用法,以允许在更多的位置、任意的(arbitrary )次数和其他情况(circumstances)下进行拆包。具体来说,在函数调用、理解和生成器表达式以及显示中。函数调用被提出支持任意次数的的拆包,而不仅仅只进行一次:>>> print(*[1], *[2], 3)1 2 3>>> dict(**{'x': 1}, y=2, **{'z': 3}){'x': 1, 'y
2020-09-05 15:39:22 2891
原创 堆(基于Python)以及heapq库的操作
文章目录堆heapq库堆堆是一棵二叉树,并且拥有以下特点:他的父节点的值小于或等于他的任何子节点的值。在数组实现中,他们的关系表示为:heap[k]≤heap[2×k+1]heap[k] \le heap[2 \times k+1]heap[k]≤heap[2×k+1]和heap[k]≤heap[2×k+2]heap[k] \le heap[2 \times k+2]heap[k]≤heap[2×k+2],对于所有的k值都要成立,k从0开始计算。最重要的一点是,它的最小值元素是根元素heap[0]he
2020-08-31 15:53:22 280
原创 栈的理解(基于python实现)
文章目录栈什么是栈?python中常见的栈操作顺序栈链栈栈先提出一个很生动的例子,当一群人排队在银行办理业务时,正好到了银行下班时间,所有人要离开银行,那此时最后进来的人离门口最近意味着最先离开,Last-In-First-Out,这就是所谓的***后进先出***原则。什么是栈?“栈”所遵循的存储数据规则就是后进先出,是一种特殊的数据结构,是只能在一端进行插入或删除操作的特殊线性表,这一端被称为栈顶,是浮动的一端;另一端被称为栈底,是固定的一端。先进入的元素被压入栈底,最后进去的元素在栈顶,当需要
2020-08-31 13:16:02 211
原创 队列(基于Python)
文章目录队列什么是对列?抽象数据类型定义**基本操作:**python中常用的队列操作函数标准库中的队列queue库queue.Queue(maxsize=0)queue.LifoQueue(maxsize=0)queue.PriorityQueue(maxsize=0)队列对象( [Queue](#queue.Queue(maxsize=0)), [LifoQueue](#queue.LifoQueue(maxsize=0)), 或者 PriorityQueue) 提供下列描述的公共方法。collecti
2020-08-30 23:51:41 344
原创 KMP算法的理解
KMS算法的理解什么是KMP?哪里提高了效率?KMP与一般算法的比较一、一般算法(BF)二、KMP算法匹配重点:KMP算法中P串下一次定位到哪里呢?Final:next数组的缺陷与改进什么是KMP?KMP 是字符串模式匹配算法,在主串T中找到第一次出现完整子串P时的起始位置。是 D.E.Knuth、J,H,Morris 和 V.R.Pratt 三位神人共同提出的,称之为 Knuth-Morria-Pratt 算法。该算法相对于 Brute-Force(暴力)算法有比较大的改进,主要是消除了主串指针的回溯
2020-08-29 15:30:16 1310 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人