![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
子时已过
这个作者很懒,什么都没留下…
展开
-
函数式数据结构-列表
在开始之前我们先了解几个名词:1、什么是函数式编程:函数式编程属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用,可以说是面向过程的程序设计。2、函数式编程的优势:函数式编程大量使用函数,减少了代码的重复,因此程序比较短,开发速度较快。易于"并发编程" 。函数式编程不依赖、也不会改变外界的状态,只要给定输入参数,返回的结果必定相同。3、什么是函数式数据结构:函数式数据结构只能被纯函数操作,纯函数一定不能修改原始数据结构或者产生副作用。函数式数据结构被定义为不可变的。原创 2021-01-12 08:38:46 · 307 阅读 · 0 评论 -
C#数据结构-赫夫曼树
什么是赫夫曼树?赫夫曼树(Huffman Tree)是指给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小。哈夫曼树(也称为最优二叉树)是带权路径长度最短的树,权值较大的结点离根较近。public class HNode<T>{ public HNode() { data = default(T); weight = 0; leftNode = null; rightNode = nul原创 2020-12-19 21:02:18 · 350 阅读 · 2 评论 -
C#数据结构-线索化二叉树
为什么线索化二叉树?对于二叉树的遍历,我们知道每个节点的前驱与后继,但是这是建立在遍历的基础上,否则我们只知道后续的左右子树。现在我们充分利用二叉树左右子树的空节点,分别指向当前节点的前驱、后继,便于快速查找树的前驱后继。不多说,直接上代码:/// <summary>/// 线索二叉树 节点/// </summary>/// <typeparam name="T"></typeparam>public class ClueTreeNode<原创 2020-12-16 21:08:05 · 165 阅读 · 0 评论