C#数据结构
通过面向对象语言C#实现数据结构,每一个数据对象都是由一个实例或者值来组成的数据集合,每个元素之间存在的关系构成的数据结构
mango_love
习而简之,简而精之
展开
-
C#数据结构-Dictionary
我们熟悉的XX字典,首先是他的一个字根和拼音的目录,后面一部分就是字的解读内容,我们会发现字典的排列并不是无序的,拼音相同的字展示在一个分类里面。字典存储结构是键值存储,查找十分的快速,那么它内部是如何实现的呢?我们从c#开源代码中找到实现字典插入的一段代码来做分析,源码地址点击// buckets是哈希表,用来存放Key的Hash值 // entries用来存放元素...原创 2019-03-27 11:21:06 · 14116 阅读 · 0 评论 -
C#数据结构-广义表和递归
广义表是线性表的推广。定义是:一个广义表是n个元素的一个有限序列。差不多就是线性表元素里面还有线性表,这个表里面的元素称为原子,如果这个原子也是线性表称之为子表。表示为:GL=(a1,a2,a3.....an)。和我们windows下面的文件、树结构有点类似特点:1.一个广义表种数据元素可以是原子,也可以是子表2.广义表的数据元素是有限个,数据元素有相对的顺序3.广义表的长度定义为最外层包含的元素...原创 2018-05-12 19:49:58 · 1547 阅读 · 1 评论 -
C#数据结构-稀疏矩阵
了解稀疏矩阵之前,我们先聊聊数组,数组都清楚string[10] str;这里的str就是一个数组,它的存储方式是str[0],str[1],str[2]...这样,放在一个连续存储空间里面。。那么同样的,二维数组我们这里stirng[2][2] str;,它的存储结构也是一个顺序存储,所以我们这里把这个str的2*2写全,str[0][0],str[0][1],str[1][0],str[1][...原创 2018-05-12 19:15:10 · 1844 阅读 · 0 评论 -
C#数据结构-串
串让我们联想到了羊肉串、糖葫芦,里面是由一个个的山楂串起来,所以串的定义就是:由零个或多个字符组成的有限序列。其中里面的元素个数叫做串的长度,零个字符组成的串叫做空串。通常使用双引号""表示一个串。这里我们有一些字符串a="123abc";b="123",c="ab"。这里我们把a字符串称作主串,b和c是包含在a里面的子串我们这里实现串用两种方式:顺序串:/// <summary> ...原创 2018-05-01 21:36:00 · 729 阅读 · 1 评论 -
C#数据结构-队列
队列是一种特殊线性的数据结构,也是一种运算受限制的线性表,跟栈恰好相反运算规则先进先出。插入元素叫做入队或者进队,插入的一方叫做队尾;删除元素叫做出队,删除的一端叫做队首。顺序表队列class SqQueueClass { const int Maxsize = 10; public string[] data; //队首和队尾 ...原创 2018-04-20 00:14:32 · 903 阅读 · 2 评论 -
C#数据结构-栈
栈是一种特殊的线性结构,是一种运算受限的数据结构,栈的特点就是是先进后出,跟我们的乒乓球筒,羽毛球筒一样,先放进去的在栈底,后放进去的称之为顶点或者栈顶。这里,我们用两种方式表达栈的运用,顺序表和链表。顺序栈这里标记顶点,因为栈的这种先进后出的特殊结构,入栈和出栈都是从顶点操作的。/// <summary> /// 顺序栈 /// </summary> ...原创 2018-04-14 17:33:34 · 691 阅读 · 0 评论 -
C#数据结构-双链表
据说单链表没有回路,那么双链表也出现了,既包括后继指针,又加入了前驱指针,某个元素可以寻找他上面一个元素,也可以寻找到下一个元素。当然双链表也是链表的一种。物理存储结构:不一定是连续的存储区域逻辑存储结构:逻辑上存储是连续的使用场景:跟单链表一样,适用于对数据的大量新增和删除元素,对访问元素无要求,预先无法确定数据量的程序首先创建存储元素结构/// <summary> /// ...原创 2018-04-08 00:01:42 · 942 阅读 · 0 评论 -
C#数据结构-单链表
由于顺序表每次插入新数据的时候后面的数据都要相对应的往后移动一个单位,相当的麻烦,所以单链表出现了,单链表的数据元素存储是由数据+下一级地址(指针域)组成,从元素开始每一级都能找到他的下一级。物理存储结构:不一定是连续不断的逻辑存储结构:逻辑存储是连续的,每一级都能够找到对应的下一级元素使用场景:适用于需要进行大量增加和删除元素操作,而对访问元素无要求的,及预先无法确定表的大小的程序由于c#里面没...原创 2018-04-07 21:07:14 · 1098 阅读 · 0 评论 -
C#数据结构-顺序表
顺序表,顾名思义存储在计算机指定内存区域的一块连续的存储结构,跟我们一起排队做广播体操的那种方式存储物理结构:物理内存空间上是连续的存储逻辑关系:存储值之间的关系为一对一使用场景:一般访问数据量比较大,新增和删除操作不频繁的数据那么我们这里实现的语言是用的c#,对于线性表的一些特性我们这里用数组来操作这个实现和操作。这里我们对线性表做一些操作:增、删、改、查首先我们来定义一个顺序表class Li...原创 2018-04-05 22:43:03 · 1323 阅读 · 4 评论