服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C#常用数据结构和算法总结

C#常用数据结构和算法总结

2021-11-29 14:09贺臣 C#

这篇文章主要介绍了C#常用数据结构和算法,这里我们总结了一些知识点,可以帮助大家理解这些概念。

1.数据

  数据(Data)是外部世界信息的载体, 是能够被计算机识别,加工,存储的。在现实生活中也就是我们的产品原材料。

  计算机中的数据包括数值数据,图片,影音资料等.

2. 数据元素和数据项

  数据元素(Data Element)是数据的基本单位,在计算机处理的过程中通常是作为一个整体来作为处理的。

  数据项(Data Item):一个数据元素通常由一个或多个数据项组成。

  比如数据库表:(Student),它有Id,Name,Sex,Age,Address等字段,而这张表又有多行数据。我们通常将这些字段就叫做数据项,每行数据

  就叫做数据元素。在某些情况下数据元素又称为元素,节点,纪录等。

  数据项分为两种:(1)初等项;(2)组合项[也就是可以分为更小的项,比如人可以再分为欧洲人,亚洲人,非洲人]

3.数据结构

  数据结构(Data Structure) 是在相互之间存在的一种或多种特定关系的数据元素集合.

  众所周知,在计算机中任何数据元素都不可能是单一或孤立存在的,它们之间都存在着一定的关系。就和人类体系结构一样,人不可能是孤立而与外界没有关系的。

  数据结构分为四种:

  (1)集合[Set]

  (2)线性结构[Linear Structure] (常见的线性结构数据,数据库存储数据)

  (3)树形结构[Tree Structure]    (树状结构,就好像人类的继承关系,在计算机中xml文件存储数据最为典型)

  (4)图形结构[Graphic Structure] (图形结构也是相对比较复杂的,因为存在多对多的关系,计算机网络拓扑)

C#常用数据结构和算法总结

4.数据对象

  数据对象(Data Object),性质相同的数据元素的集合,是数据(Data) 的一个子集。{“aa”,"bb","cc","dd"} 我们就可以将其看做是一个数据对象,都是字符长度的集合。

5.数据类型

  数据类型(Data Type) ,从上面的数据对象我们可以引申出数据类型这个概念,很多时间数据类型在C#,Java 等高级程序语言中说的比较多

  数据类型分为两种:

    (1) 非结构的原子类型 (在C#也就是基本数据类型,如int,string,long 等)

    (2)结构类型,可以由多个结构类型组成,并可以分解。而结构类型可以包含结构类型和非结构的原子类型

6.算法

  算法: 一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

  一个算法的优劣可以使用空间复杂度和时间复杂度来衡量。其中算法有五个特征:

  (1)有穷性: 算法中每条指令的执行次数有限,执行每条指令的时间有限

  (2)确切性: 算法的每一步骤必须有确切的定义

  (3)输入:    一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件

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

  (5)可行性:算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成

  算法分类: 基本算法,数据结构算法,数论与代数算法,计算几何算法,图论算法,动态规则与数据分析,加密算法,排序算法,检索算法,随机化算法,并行算法

7. 复杂度

  算法的复杂度可以使用 时间复杂度 和 空间复杂度 来衡量。

  时间复杂度:算法的时间复杂度是指算法需要消耗的时间资源

  空间复杂度: 算法的空间复杂度是指算法需要消耗的空间资源

8.数据的物理结构

  数据的物理结构(Physical Structure) 又称为 存储结构,是数据在计算机中的表示和存储,包括数据元素的表示和存储以及数据元素关系的表示和存储。

  数据结构存储分为:(1)顺序存储结构.(2)链式存储结构

  顺序存储结构:通过数据元素在计算机存储器上的相对位置来表示数据元素的逻辑关系,一般把逻辑相邻的数据元素存储在物理位置相邻的存储单元中。

  C# 中的数组结构就是典型的顺序存储结构方式。

  链式存储结构:相邻元素不需要在物理存储位置单元相邻,它们而是通过存储相邻数据元素的地址来维护关系。地址我们通常称之为为引用(Reference)

备注:此篇文章只是总结了数据结构方面的一些概念,我们在学习编程的时候经常说数据,复杂度等等这些概念,至于这数据,复杂度等等到底是什么东西我们也没有去研究过,这里总结了一些知识点可以帮助大家理解这些概念。

以上这篇C#常用数据结构和算法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

延伸 · 阅读

精彩推荐
  • C#C#直线的最小二乘法线性回归运算实例

    C#直线的最小二乘法线性回归运算实例

    这篇文章主要介绍了C#直线的最小二乘法线性回归运算方法,实例分析了给定一组点,用最小二乘法进行线性回归运算的实现技巧,具有一定参考借鉴价值,需要...

    北风其凉8912021-10-18
  • C#C#基础之泛型

    C#基础之泛型

    泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能。接下来通过本文给大家介绍c#基础之泛型,感兴趣的朋友一起学习吧...

    方小白7732021-12-03
  • C#浅谈C# winForm 窗体闪烁的问题

    浅谈C# winForm 窗体闪烁的问题

    下面小编就为大家带来一篇浅谈C# winForm 窗体闪烁的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    C#教程网7962021-12-21
  • C#Unity3D UGUI实现缩放循环拖动卡牌展示效果

    Unity3D UGUI实现缩放循环拖动卡牌展示效果

    这篇文章主要为大家详细介绍了Unity3D UGUI实现缩放循环拖动展示卡牌效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参...

    诗远3662022-03-11
  • C#C# 后台处理图片的几种方法

    C# 后台处理图片的几种方法

    本篇文章主要介绍了C# 后台处理图片的几种方法,非常具有实用价值,需要的朋友可以参考下。...

    IT小伙儿10162021-12-08
  • C#c#学习之30分钟学会XAML

    c#学习之30分钟学会XAML

    一个界面程序的核心,无疑就是界面和后台代码,而xaml就是微软为构建应用程序界面而创建的一种描述性语言,也就是说,这东西是搞界面的...

    C#教程网8812021-12-10
  • C#聊一聊C#接口问题 新手速来围观

    聊一聊C#接口问题 新手速来围观

    聊一聊C#接口问题,新手速来围观,一个通俗易懂的例子帮助大家更好的理解C#接口问题,感兴趣的小伙伴们可以参考一下...

    zenkey7072021-12-03
  • C#C#实现的文件操作封装类完整实例【删除,移动,复制,重命名】

    C#实现的文件操作封装类完整实例【删除,移动,复制,重命名】

    这篇文章主要介绍了C#实现的文件操作封装类,结合完整实例形式分析了C#封装文件的删除,移动,复制,重命名等操作相关实现技巧,需要的朋友可以参考下...

    Rising_Sun3892021-12-28