![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法之路
皆灾
我想要妈妈为我骄傲~
展开
-
python 实现二叉树 面试大礼包(前中后序遍历二叉树,层序遍历,深度优先,广度优先)
class Node(object): def __init__(self,elem=None,lchild=None,rchild=None): self.elem=elem self.lchild=lchild self.rchild=rchild class Tree(object): def __init__(self,root=None): self.root=root def add(self,elem.原创 2020-06-01 22:56:18 · 132 阅读 · 0 评论 -
特大整数排序,计数排序
class BitMap: def __init__(self,maxsize): self.size=maxsize//31+1 self.data=[0 for i in range(self.size)] def getIndex(self,num): return num//31 def getBitIndex(self,num): return num%31 def setnum(self,nu.原创 2020-06-01 18:28:15 · 139 阅读 · 0 评论 -
面试题常问,手撕平方根函数(python3)
import math def sqrtmy(n,a): #二分查找法 a是精确度 if n<=0: return n low=0*1.0 up=n*1.0 mid=(low+up)/2.0 while up>=low: if abs(mid**2-n)<a: return mid elif mid*mid>n: up=mid el.原创 2020-06-01 17:47:09 · 601 阅读 · 0 评论 -
python3的链表大礼包 单向链表实现及翻转链表
class LNode(object): def __init__(self,data): self.data=data self.next=None def set_next(self,next): self.next=next def get_data(self): return self.data def get_next(self): return self.next class Lin.原创 2020-06-01 14:58:25 · 131 阅读 · 1 评论 -
大整数相加和大整数相乘
大整数运算是我们经常会碰到的算法面试题之一。大整数运算往往会导致整形溢出而不能在ide直接通过四则运算运行。 下面是python3写的大整数相乘和大整数相加函数。原理都较为相似,模拟手写演算的场景从后往前计算并且考虑进位。 def multy(n1,n2): n1=str(n1)[::-1] n2=str(n2)[::-1] n3=[] for i in range(len(n1+n2)): n3.append(0) for i in range原创 2020-05-31 19:44:05 · 191 阅读 · 0 评论 -
正序与反序遍历单链表(试一下递归~)
其实链表和树结构一样,都是存在前序遍历和后序遍历的。 链表的遍历框架可以写作: def traverse(head): //这里写前序遍历代码 traverse(head.next) //这里写后序遍历代码 也就是说,当我们想要正序打印链表中的val值时,我们可以写作: def traverse(head): if head==Null: return print(head.val) //这里就是前序遍历代码 traverse原创 2020-05-09 01:53:04 · 621 阅读 · 1 评论