《大话数据结构(C#实现)》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+软件架构设计+框架编程+数组+栈+链表+图+队列+树+堆+二叉树+哈希表+立钻哥哥+==)

大话数据结构(C#实现)

大话数据结构(C#实现)

版本

参与者

完成日期

备注

YanlzStruct_C#Base_V01_1.0

严立钻

 

2020.02.10

 

 

 

 

 

 

 

##《大话数据结构(C#实现)》发布说明:

++++“大话数据结构(C#实现)”:是对“软件架构设计”的综合探索;【程序=数据结构+算法】:数据结构是程序设计的重要技术;数据结构在某种程度上和设计模式类似,都是前辈的武功套路,不同的是,设计模式是近几十年的卓越程序员的智慧结晶,而数据结构是几百上千年的无数科学家、数学家的智慧沉淀,更具有深厚的背景;数据结构是相互之间存在一种或多种特定关系的数据元素的集合;数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科

++++“大话数据结构(C#实现)”:定位在一个科普类知识,了解“数据结构”以及相关算法研究,以及软件架构设计和框架编程

 

@@提示:有些博客可能只是开了头,如果感兴趣的同学,可以“点赞”或“评论区留言”,只要关注的同学多了,那就会继续完善哟!(“++==”,表示没有写完的,如果关注度不高就不完善了;“++ok++”,表示此篇博客已经完成,是阶段性完整的!)

 

” role=”presentation” style=”text-align: center; position: relative;”>博客溯源:

++++VR云游戏=Unity+SteamVR+云技术+5G+AI;(说明:AI人工智能不是我们的主要研究技术,只是了解一下,领略一下有风的感觉!但是,VR是我们的研究重点

++++【软件架构设计】分类:https://blog.csdn.net/vrunsoftyanlz/category_9708791.html

++++【大话数据结构(C实现)】:https://blog.csdn.net/VRunSoftYanlz/article/details/104242455

++++【大话数据结构( C# 实现)】:https://blog.csdn.net/VRunSoftYanlz/article/details/104243017

++++【大话设计模式( C# 实现)】:https://blog.csdn.net/VRunSoftYanlz/article/details/104256981

 

 

 

 

 

 

##《大话数据结构(C#实现)》目录

#第一篇:数据结构基础篇

#第二篇:进阶算法篇

#第三篇:数据结构剖析篇

#第四篇:数据结构拓展篇

#第五篇:立钻哥哥带您数据结构实战

 

 

 

#第一篇:数据结构基础篇

#第一篇:数据结构基础篇

#第一篇:数据结构基础篇

++++立钻哥哥:数据结构是相互之间存在一种或多种特定关系的数据元素的集合;数据结构是计算机存储、组织数据的方式;通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率;数据结构往往同高效的检索算法和索引技术有关

++++数据结构(Data Structure)是带有结构特性的数据元素的集合,它研究的数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型

++++数据结构的研究内容是构造复杂软件系统的基础,它的核心技术是分解与抽象;通过分解可以划分出数据的3个层次;再通过抽象,舍弃数据元素的具体内容,就得到逻辑结构

 

++数据的逻辑结构

++++立钻哥哥:数据的逻辑结构指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后间关系,而与他们在计算机中的存储位置无关;逻辑结构包括:集合线性结构树形结构图形结构

++++[集合]:数据结构中的元素之间除了“同属一个集合”的相互关系外,别无其他关系

++++[线性结构]:数据结构中的元素存在一对一的相互关系

++++[树形结构]:数据结构中的元素存在一对多的相互关系

++++[图形结构]:数据结构中的元素存在多对多的相互关系

 

++常用的数据结构

++++立钻哥哥:在计算机科学的发展过程中,数据结构也随之发展;程序设计中常用的数据结构包括:数组(Array)、栈(Stack)、队列(Queue)、链表(Linked List)、树(Tree)、图(Graph)、堆(Heap)、散列表(Hash)等

++++[数组(Array)]:数组是一种聚合数据类型,它是将具有相同类型的若干变量有序地组织在一起的集合;数组可以说是最基本的数据结构,在各种编程语言中都有对应;一个数组可以分解为多个数组元素,按照数据元素的类型,数组可以分为整型数组、字符型数组、浮点型数组、指针数组和结构数组等;数组还可以有一维、二维以及多维等表现形式

++++[栈(Stack)]:栈是一种特殊的线性表,它只能在一个表的一个固定端进行数据结点的插入和删除操作;栈按照后进先出的原则来存储数据,也就是说,先插入的数据将被压入栈底,最后插入的数据在栈顶,读出数据时,从栈顶开始逐个读出;栈在汇编语言程序中,经常用于重要数据的现场保护;栈中没有数据时,称为空栈

++++[队列(Queue)]:队列和栈类似,也是一种特殊的线性表;和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作;一般来说,进行插入操作的一端称为队尾,进行删除操作的一端称为队头;队列中没有元素时,称为空队列

++++[链表(Linked List)]:链表是一种数据元素按照链式存储结构进行存储的数据结构,这种存储结构具有在物理上存在非连续的特点;链表由一系列数据结点构成,每个数据结点包括数据域和指针域两部分;其中,指针域保存了数据结构中下一个元素存放的地址;链表结构中数据元素的逻辑顺序时通过链表中的指针链接次序来实现的

++++[树(Tree)]:树是典型的非线性结构,它是包括,2个结点的有穷集合K;在树结构中,有且仅有一个根结点,该结点没有前驱结点;在树结构中的其他结点都有且仅有一个前驱结点,而且可以有两个后继结点,m>=0

++++[图(Graph)]:图是另一种非线性数据结构;在图结构中,数据结点一般称为顶点,而边是顶点的有序偶对;如果两个顶点之间存在一条边,那么就表示这两个顶点具有相邻关系

++++[堆(Heap)]:堆是一种特殊的树形数据结构,一般讨论的堆都是二叉堆;堆的特点是根结点的值是所有结点中最小的或者最大的,并且根结点的两个子树也是一个堆结构

++++[散列表(Hash)]:散列表源自于散列函数(Hash Function),其思想是如果在结构中存在关键字和T相等的记录,那么必定在F(T)的存储位置可以找到该记录,这样就可以不用进行比较操作而直接取得所查记录

 

 

 

 

 

 

 

 

#第二篇:进阶算法篇

#第二篇:进阶算法篇

#第二篇:进阶算法篇

++++立钻哥哥:算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制;一个算法的优劣可以用空间复杂度与时间复杂度来衡量;算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态;一个状态到另一个状态的转移不一定是确定的;随机化算法在内的一些算法,包含了一些随机输入

++++一个算法应该具有5个重要特征:有穷性确切性输入项输出项可行性

++++[有穷性(Finiteness)]:算法的有穷性是指算法必须能在执行有限个步骤之后终止

++++[确切性(Definiteness)]:算法的每一步骤必须有确切的定义

++++[输入项(Input)]:一个算法由0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件

++++[输出项(Output)]:一个算法有一个或多个输出,以反映对输入数据加工后的结果;没有输出的算法是毫无意义的

++++[可行性(Effectiveness)]:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性)

 

++算法

++++立钻哥哥:算法(Algorithm)是程序设计的灵魂,它是用系统的方法描述解决问题的策略机制;一个正确的算法满足的性质:输入输出确定性有限性

++++[输入]:有零个或多个输入

++++[输出]:至少有一个输出

++++[确定性]:组成算法的每条指令清晰,无歧义

++++[有限性]:一个算法在执行有限步骤后必须结束,即计算步骤是有限的

++++描述算法可以由多种方式,如自然语言、流程图、伪代码、程序设计语言;算法设计就是针对具体的问题,设计出良好的算法,使计算机能够解决该问题;同一个问题可以采用不同的算法实现,不同的算法可能时间、空间并不相同,一个算法的优劣可以用空间复杂度与时间复杂度来衡量

++++算法设计中经常采用的排序算法查找算法迭代算法推算法递归算法枚举算法贪心算法回溯算法矩阵算法

 

++数据

++++立钻哥哥:数据是描述客观事物的符 ,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符 集合;数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型

 

++数据元素

++++立钻哥哥:数据元素是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理;也被称为记录

 

++数据项

++++立钻哥哥:一个数据元素可以由若干个数据项组成;数据项是数据不可分割的最小单位

 

++数据对象

++++立钻哥哥:数据对象是性质相同的数据元素的集合,是数据的子集

 

++数据结构

++++立钻哥哥:数据结构是相互之间存在一种或多种特定关系的数据元素的集合;不同数据元素之间不是独立的,而是存在特定的关系,我们将这些关系称为结构

 

++逻辑结构

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月8日
下一篇 2020年1月8日

相关推荐