论坛首页 入门技术论坛

递归算法

浏览 1485 次
锁定老帖子 主题:递归算法
该帖已经被评为新手帖
作者 正文
   发表时间:2008-05-21  
现在有一个用户表:内容与结构在下面:(三个字段Id , Parent_id, Name)
Id       Parent_id        Name
1            0              apple 
2            1              tree
3            1              flow
4            3              money
5            4              book
6            2              table
7            6              phone
8            5              pen

说明:
  1: Id是记录的对应编号. (第几条记录)
  2: Parent_id是记录的上一级编号.
  3: 假设表中有(N条)无数条数据.


要求:编写程序.当输入指定的Id编号时,显示该记录及所有的下属记录的Name名称.
例如:当Id等于2时,则分别显示  Id为  2,6,7,记录Name.
   发表时间:2008-05-21  
用python胡乱写一个...

test = [(1,0,'apple'),(2,1,'tree'),(3,1,'flow'),(4,3,'money'),(5,4,'book'),(6,2,'table'),(7,6,'phone'),(8,5,'pen')]
input_id=2
parent={}

parent.setdefault(input_id,filter( (lambda x:x[0]==2), test))
 [parent.get(input_id)]+[t for t in test if t[1] in parent.keys() and parent.setdefault(t[0],t)]

0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics