C#实现一颗树!

简介:
 1:  static List<Entity.OA.Department> entitiesList = null;
 2:   
 3:          internal static void Reload()
 4:          {
 5:              entitiesList = (from pc in iDepartmentsRepository.GetDepartments()
 6:                              orderby pc.DeptName ascending
 7:                              select pc).ToList();
 8:          }
 9:   
10:          #region 树型部门列表
11:          /// <summary>
12:          /// 虚拟产品类别 
13:          /// </summary>
14:          /// <returns>虚拟产品类别列表</returns>
15:          public static Entity.OA.Department GetTree()
16:          {
17:              Reload();
18:              Entity.OA.Department root = new Entity.OA.Department();
19:              try
20:              {
21:                  root = entitiesList.Single(
22:                     item => item.DeptID.Equals(Entity.OA.Department.ROOTID));//获取跟节点
23:                  GetSubs(root);
24:   
25:              }
26:              catch (InvalidOperationException ex)
27:              {
28:                  ex.ToString();
29:              }
30:              return root;
31:          }
32:   
33:   
34:          /// <summary>
35:          /// 根据父对象,找到子孙树
36:          /// </summary>
37:          /// <param name="father">父对象</param>
38:          static public void GetSubs(Entity.OA.Department father)
39:          {
40:              father.SubList = entitiesList.Where(item =>
41:                  item.ParentID.Equals(father.DeptID)).ToList();
42:              father.SubList.ForEach(item =>
43:              {
44:                  item.Father = father;
45:                  GetSubs(item);      
46:              });
47:   
48:          }

49: #endregion

本文转自博客园张占岭(仓储大叔)的博客,原文链接:C#实现一颗树!,如需转载请自行联系原博主。

目录
相关文章
|
4月前
|
存储 安全 算法
基于 C# Trie 树的'管控员工上网 URL 过滤与匹配优化方案探索
本文探讨了 Trie 树在员工上网管控中的应用,分析其在 URL 实时过滤中的高效性,包括前缀匹配、存储优化和动态更新等优势,并提供 C# 实现方案,助力企业提升网络管理效率。
108 0
|
2月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
194 4
|
5月前
|
监控 算法 安全
基于 C# 基数树算法的网络屏幕监控敏感词检测技术研究
随着数字化办公和网络交互迅猛发展,网络屏幕监控成为信息安全的关键。基数树(Trie Tree)凭借高效的字符串处理能力,在敏感词检测中表现出色。结合C#语言,可构建高时效、高准确率的敏感词识别模块,提升网络安全防护能力。
136 2
|
7月前
|
存储 监控 算法
局域网上网记录监控的 C# 基数树算法高效检索方案研究
在企业网络管理与信息安全领域,局域网上网记录监控是维护网络安全、规范网络行为的关键举措。随着企业网络数据量呈指数级增长,如何高效存储和检索上网记录数据成为亟待解决的核心问题。基数树(Trie 树)作为一种独特的数据结构,凭借其在字符串处理方面的卓越性能,为局域网上网记录监控提供了创新的解决方案。本文将深入剖析基数树算法的原理,并通过 C# 语言实现的代码示例,阐述其在局域网上网记录监控场景中的具体应用。
173 7
|
SQL 开发框架 .NET
C#表达式树 创建、生成、使用、lambd a转成表达式树~表达式树的知识详解
C#表达式树 创建、生成、使用、lambd a转成表达式树~表达式树的知识详解
470 0
C#表达式树 创建、生成、使用、lambd a转成表达式树~表达式树的知识详解
|
XML 人工智能 C#
【C#】分享简单行为树编辑器
游戏的AI行为,很多会使用行为树来代替状态机,而且通过行为树编辑器可以所见即所得,较清晰的逻辑分支执行,是配置AI行为的好工具,一般提供给策划自己进行配置AI行为即可,还是很省工作量的。我最近写了一个工具在业务的实现上想利用行为树来执行逻辑,将工具打包成可执行EXE文件,脚本只需要在行为树编辑器中编辑导出即可运行,因此尝试做了一个简单版本的行为树编辑器。
1291 0
【C#】分享简单行为树编辑器
|
算法 C# C++
【愚公系列】2021年11月 C#版 数据结构与算法解析(AVL树)
【愚公系列】2021年11月 C#版 数据结构与算法解析(AVL树)
216 0
【愚公系列】2021年11月 C#版 数据结构与算法解析(AVL树)
|
存储 机器学习/深度学习 自然语言处理
【愚公系列】2021年11月 C#版 数据结构与算法解析(Trie树)
【愚公系列】2021年11月 C#版 数据结构与算法解析(Trie树)
200 0
【愚公系列】2021年11月 C#版 数据结构与算法解析(Trie树)
C#编程-29:循环访问目录树
C#编程-29:循环访问目录树
145 0
|
编译器 C#
表达式树练习实践:C#值类型、 引用类型、泛型、集合、调用函数
表达式树练习实践:C#值类型、 引用类型、泛型、集合、调用函数
239 0

热门文章

最新文章