python必背100源代码-有没有100行代码左右的Python项目可以推荐的?

def mysort(arr:list):

for i in range(len(arr)):

for j in range(len(arr)):

if arr[i]<=arr[j]:

arr[i],arr[j] = arr[j],arr[i]

class HuffmanTreeNode:

def __init__ ( self, value_weight: tuple ) -> None:

self.value_weight = value_weight

self.parent: HuffmanTreeNode = None

self.leftChild: HuffmanTreeNode = None

self.rightChild: HuffmanTreeNode = None

def __eq__ ( self, other ) -> bool:

return self.value_weight[1] == other.value_weight[1]

def __ne__ ( self, other ) -> bool:

return self.value_weight[1] != other.value_weight[1]

def __ge__ ( self, other ):

return self.value_weight[1] >= other.value_weight[1]

def __le__ ( self, other ):

return self.value_weight[1] <= other.value_weight[1]

def __getitem__ ( self, item ):

return self.value_weight[item]

def __str__ ( self ) -> str:

return str(self.value_weight)

class HuffmanTree:

def __init__ ( self, seq=None,value_weight:list=None) -> None:

self.root: HuffmanTreeNode = HuffmanTreeNode(('NaN',0))

if value_weight is None:

self.value_weight = []

else:

self.value_weight = [HuffmanTreeNode(i) for i in value_weight]

self.seq = seq

if self.seq is not None:

self._value_weightList()

self._buildHuffmanTree()

self.coding={}

self._tree_to_dict(self.root,"")

def _value_weightList ( self ):

seqlist = list(self.seq)

seq_set = set(seqlist)

for i in seq_set:

self.value_weight.append(HuffmanTreeNode((i, seqlist.count(i))))

def _merge ( self, hto, htt, ht: HuffmanTreeNode ):

hto.parent = ht

htt.parent = ht

ht.leftChild = hto

ht.rightChild = htt

ht.value_weight = ('NaN', hto.value_weight[1] + htt.value_weight[1])

def

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值