(python)实现Map的两种方法

本文介绍了使用Python实现Map的两种方法,包括利用二分搜索树的优势实现高效查找,以及虽然不推荐但仍然可行的链表实现,链表实现由于其较高的时间复杂度在实际应用中效率较低。
摘要由CSDN通过智能技术生成

1.二分搜索树实现:

class BSTMap:
    class _Node:
        def __init__(self,key=None,value=None):
            self.key=key
            self.value=value
            self.left=None
            self.right=None
         def __str__(self):
            return "key:{},Value:{}".format(str(self.key),str(self.value))
    def __init__(self):
        self._size=0
        self._root=None
    def get_size(self):
        return self._size
    def add(self,key,value):
        self._root=self._add(self._root,key,value)
    def _add(self,node,key,value):
        if not node:
            self._size+=1
            node=self._Node(key,value)
        elif node.key==key:
            node.value=value
        elif node.key>key:
             node.left=self._add(node.left,key,value)
        else node.key<key:
              node.right=self._add(node.right,key,va
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值