Python中文
首页
教程
问答
标签
搜索
登录
注册
Python中的树型映射
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>mapSearch是一个函数,它接受一个键和一个映射,并返回与键相关的值;如果键不存在,则返回None。在</p> <p><strong>问题</strong>:当我运行搜索函数时,无论我为键输入了什么,它都会返回相同的值。在</p> <pre><code>class EmptyMap(): __slots__ = () class NonEmptyMap(): __slots__ = ('left', 'key', 'value', 'right') EMPTY_MAP = EmptyMap() def mkEmptyMap(): return EMPTY_MAP def mkNonEmptyMap(b1, key, value, b2): node = NonEmptyMap() node.left = b1; node.key = key; node.value = value; node.right = b2; return node; def mapInsert(key, value, mp): if isinstance(mp, EmptyMap): return mkNonEmptyMap(mkEmptyMap(), key, value, mkEmptyMap()) else: if key == mp.key: mp.value = value elif mp.key < key: mp.left = mapInsert(key, value, mp.left) else: mp.right = mapInsert(key, value, mp.right) return mp def search(key, mp): if isinstance(mp, EmptyMap): return None elif isinstance(mp, NonEmptyMap): if key == mp.key: return mp.value elif mp.key < key: mp.left = search(key, mp.left) return mp.value else: mp.right = search(key, mp.right) return mp.value </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>一个明显的问题是:</p> <pre><code> if key == mp.key: mp.value = value elif mp.key > key: return mapInsert(key, value, mp.left) else: return mapInsert(key, value, mp.left) </code></pre> <p>其中一个根本不返回任何内容,其他两个返回相同的内容。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
4 回答
无法使用Django\u mssql\u后端迁移到外部hos
9 回答
无法使用Django&Python3.4连接到MySql
7 回答
无法使用Django+nginx上载媒体文件
1 回答
无法使用Django1.6导入名称模式
3 回答
无法使用Django1.7和mongodb登录管理站点
5 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
10 回答
无法使用Djangockedi验证CBV中的字段
3 回答
无法使用Djangocketditor上载图像(错误400)
9 回答
无法使用Djangocron进行函数调用
9 回答
无法使用Djangofiler djang上载文件
1 回答
无法使用Djangokronos
4 回答
无法使用Djangomssql provid
6 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
8 回答
无法使用Djangomssq迁移Django数据库
7 回答
无法使用Djangonox创建用户
5 回答
无法使用Djangopyodb从Django查询SQL Server
10 回答
无法使用Djangopython3ldap连接到ldap
5 回答
无法使用Djangoredis连接到redis
5 回答
无法使用Django中的FK创建新表
5 回答