递归算法这个是非常常见的一个算法,也是大多数人都会用的,因为它足够简单,通俗易懂!在遍历城市,树等大脑里反应出来的第一方法大多就属于这个了
递归容易使用,但是也容易用坏,我想"内存溢出"这个估计是每个人用递归都会碰到的bug,我为什么还是要写这方面的知识呢,那是因为文章的最后我有一个问题要问
首先我先展示我之前写的一段递归拼接层级树的代码:
private string ParentColumns(List columns, intid)
{using(msdb)
{var parents = columns.Where(p => p.parentid ==id).ToList();
StringBuilder sb= newStringBuilder();if (parents.Count > 0)
{
parents.ForEach(item=>{
sb.AppendFormat("
{0}{1}{2} ", item.cl_id, item.cl_px, item.cl_name);sb.Append(ChildColu