一个递归算法
来源:互联网 发布:网络40禁书百度 编辑:程序博客网 时间:2024/06/06 01:54
这是为了铭记如何把代码写的漂亮。敬大神~
我最终想要得到的效果是这样的:‘
水心病 latin_name 糖化病
水心病 latin_name 蜜果病
水心病 symptoms harm plants 果心
水心病 symptoms harm plants 果面
等等
这个的思想利用动态规划来做,我们需要在判断类型的前提下来进行递归,一直找到最终的Value值,然后把当前Value值所在的路径,也就是k值记录下来。这是大神写的python代码,我要多多鞭策自己!!因为要统一编码为unicode在写入的时候.encode('utf-8')转为str写入文档,所有当我们遍历到值的所在节点的时候,实际上就是unicode类型,对其他非unicode类型的value值也统一转换为unicode类型。
def node_to_list(node, hypothesis, prefix=u''): if isinstance(node, int): node = unicode(node) if isinstance(node, unicode): node = node.replace(u',', u'COMMA') pstr(print_pattern.format(prefix, node, hypothesis)) return elif isinstance(node, list): if len(node) == 0: return for item in node: node_to_list(item, hypothesis, prefix) elif isinstance(node, dict): if len(node) == 0: return for key in node: new_prefix = prefix + delimiter + key node_to_list(node[key], hypothesis, new_prefix) else: pstr(u'unexpected type: {}'.format(type(node)))我觉得之所以能成功的递归,关键在于递归的每一层究竟是什么在变化,这里的node,prefix的参数设置很重要,当出现字典这种情况,改变prefix就能正常的进行递归了,递归的参数设置很重要,很重要,很重要啊
0 0
- 一个递归算法
- 一个递归算法
- 实现一个递归算法
- Treeview的一个递归算法
- 递归算法的一个例子
- 递归算法的一个例子
- 一个递归的经典算法
- 一个简单的递归算法
- 反转一个链表。递归算法
- 一天一个算法题-简单的-递归
- 一天一个算法题-简单的-递归
- 反转一个链表。递归算法
- 反转一个链表。递归算法
- 【算法】用递归颠倒一个栈
- 反转一个链表。递归算法
- 一个简单的递归算法的思考
- 递归算法时间复杂度的计算方程式一个递归方程:
- 用递归算法解决VC中CEdit的一个Bug
- CMakeLists.txt 实例
- 我的程序员之路(英语的学习)
- Runnable和Thread基础
- Java常见面试题
- array类型
- 一个递归算法
- tarjan 算法
- dfs算法示例
- linux补充
- EJB和JBOSS的宏观理解
- MySQL安装
- 结构型之桥接模式
- C陷阱与缺陷(四)--声明与定义2
- map与unordered_map