用递归、求幂集

xp310 2003-10-20 01:09:37
请给出一个计算幂集Powerset(S)的递归算法。
S是集合,Sn是子集,SA是可选子集,Ps是幂集。
解:算法Powerset(SN,SA,PS)// S是集合,SN是子集,SA是可选子集,PS是幂集
Powerset 1[递归出口]
If SA={ } then
{PS<—PS+SN.
Return.}
Powerset 2[把SN加入PS]
PS<—PS+SN
Powerset 3[递归调用]
FOR ( 所有 Item 属于SA)
DO {Powerset(SN 并{Item},
SA<—SA-{item},PS)}
Return.
以上是算法,但是我没有看懂,那位高人指点以下,不甚感激
...全文
293 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZhangYv 2003-10-20
  • 打赏
  • 举报
回复
如果有N个物品,就用一个长度为N的二进制串来表示各子集的状态。比如有3个物品,则:
000
001
010
011
100
101
110
111
八个取法的幂集,算法如何表征那个二进制串就很重要了。
stephen85 2003-10-20
  • 打赏
  • 举报
回复
清华版<<数据结构>>的书上有的.

33,006

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧