
算法与数据结构
阿斯提尼
这个作者很懒,什么都没留下…
展开
-
数据结构之堆 C#
前言堆(Heap)其实是一颗完全二叉树,分为大顶堆(大根堆/最大堆)和小顶堆(小根堆/最小堆)大顶堆与小顶堆任意一个节点的值都比它的左右子节点的值大(可以等于)的堆称为大顶堆,所以大顶堆的堆顶存放的是当前堆中最大的元素任意一个节点的值都比它的左右子节点的值小(可以等于)的堆称为小顶堆,多以小顶堆的堆顶存放的是当前堆中最小的元素堆与数组的映射用n表示堆中节点的总数量,把上图堆中的数据映射到数组中可得大顶堆:110,100,90,40,80,20,60,10,30,50,70110,100,90原创 2020-12-21 17:07:57 · 653 阅读 · 0 评论 -
数据结构之树
前言数据结构:数据在计算机上的存储、组织形式线性表:包含多个数据元素的有限序列,元素之间一般首尾相接,是一对一的线性关系,它包括顺序表和链表,常见的数据结构有:数组、栈、队列、链表等一、树由n个节点组成的、具有层次关系和树状结构性质的数据的集合,是一种非线性结构,是一对多的关系,可以通过家族中的族谱来辅助理解,一个节点可以有n个子节点但是子节点(根节点除外)却有且仅有一个父节点节点的度:节点的分支个数/子节点个数(节点的直接孩子的个数,不包括孙子…),如图节点1的度是3树的度:树中所有节点的原创 2020-11-27 15:05:13 · 195 阅读 · 0 评论 -
数据结构之哈希表:C# Dictionary的实现原理
一、全局变量: // 字典中数据的基本存储单元、条目,可以认为是一个链表的结点 private struct Entry { public int hashCode; // 哈希码,Lower 31 bits of hash code, -1 if unused public int next; // 同一个槽位上,下一个链表结点在entries数组中对应的索引,Index of next entry, -1 if la原创 2020-08-04 16:58:54 · 2707 阅读 · 0 评论 -
数据结构之链表
线性表: ####包含多个数据元素的有限序列顺序存储结构:用一段在内存中连续的地址单元来存储数据,顺序表,内部采用数组实现,需要事先知道数据的长度链式存储结构:用一段在内存中可连续可不连续的地址单元来存储数据,链表,...原创 2020-04-28 22:12:50 · 261 阅读 · 0 评论