• C#数据结构一:基础知识


    在学习数据结构之前先要学习几个相关的概念及术语
    1、数据(Data):数据是外部世界信息的载体,它能被计算机识别、存储和加工处理,是计算机程序加工的原料。
    2、数据元素(Data Element)和数据项:数据元素是数据的基本单位,有时也被称为元素、结点、顶点、记录等。一个数据元素可由若干个数据项组成;数据项是不可分割的、含有独立意义的最小数据单位,数据项有时也称为字段(Field)或域(Domain).
    之间关系为数据项组成数据元素,数据元素组成数据(,数据组成文件)。使用数据库模型来举例说明:
    3、数据对象(Data Object):性质相同的数据元素的集合,是数据的一个子集,例如字母表对象{a,b,c,…x,y,z}
    4、数据类型(Data Type):数据的取值范围和对数据进行操作的总和。数据类型规定了程序中对象的特性;程序中每个变量、常量或表达式的结果都应该属于某种确定的数据类型。数据类型可分可两类:一类是非结构的原子类型,如C#的基本类型;另一类是结构类型,其成分由多个结构类型组成,可以分解;如C#的数组类型。
    5、数据结构(Data Struct):相互之间存在一种或多种关系 的数据元素的集合。通常有4类基本数据结构:
    1)集合(Set)
    2)线性结构(Linear Structure)
    3)树形结构(True Structure)
    4)图状结构(Graphic Structure)
    数据结构(Data Structrue)简记为DS,是一个二元组,DS=(D,S),其中D为数据元素的有限集合,R是数据元素之间关系的有限集合。
    6、算法(Algorithm):是对某一特定类型的问题的求解步骤的一种描述,是指令的有限序列。它具有有穷性(Finity)、确定性(Unambiguousness)、输入(Input)、输出(Output)和有效性(Realizability)。针对算法优劣的评价标准包括正确性(Correctness)、可读性(Readability)、健壮性(Robustness鲁棒性)、运行时间(Running Time)和占用空间(Storage Space)。
    7、算法的时间复杂度(Time Complexity):指算法的运行时间与问题规模的对应关系。通常把算法中基本操作重复执行的次数作为算法的时间复杂度。它是与问题规模n相关的函数。记作T(n)=O(f(n)),例如T(n)=n(n+1),推荐一篇好文http://www.matrix67.com/blog/archives/529
    8、高等数学相关基础知识
    计量单位(Unit):字节为B,位缩写为b,兆字节为MB,千字节缩写为KB
    阶乘函数(Factorial Function):5!=5*4*3*2*1=120,特别地,0!=1
    取下整和取上整(Floor and Ceiling):⌊3.4⌋=3(下整) ,⌈3.4⌉=4(上整)
    取模操作符(Modulus):n=q*m+r ⇒m=n/q
    对数(Logarithm):若ab=N,那么数b叫做以a为底N的对数,记作logaN=b,其中a叫做对数的底数,N叫做真数。
    递归(Recursive):算法调用自己或间接调用自己。

    在学习数据结构之前先要学习几个相关的概念及术语

    1、数据(Data):数据是外部世界信息的载体,它能被计算机识别、存储和加工处理,是计算机程序加工的原料。

    2、数据元素(Data Element)和数据项:数据元素是数据的基本单位,有时也被称为元素、结点、顶点、记录等。一个数据元素可由若干个数据项组成;数据项是不可分割的、含有独立意义的最小数据单位,数据项有时也称为字段(Field)或域(Domain).之间关系为数据项组成数据元素,数据元素组成数据(,数据组成文件)。使用数据库模型来举例说明:


    3、数据对象(Data Object):性质相同的数据元素的集合,是数据的一个子集,例如字母表对象{a,b,c,…x,y,z}

    4、数据类型(Data Type):数据的取值范围和对数据进行操作的总和。数据类型规定了程序中对象的特性;程序中每个变量、常量或表达式的结果都应该属于某种确定的数据类型。数据类型可分可两类:一类是非结构的原子类型,如C#的基本类型;另一类是结构类型,其成分由多个结构类型组成,可以分解;如C#的数组类型

    。5、数据结构(Data Struct):相互之间存在一种或多种关系 的数据元素的集合。通常有4类基本数据结构:

    1)集合(Set)

    2)线性结构(Linear Structure)

    3)树形结构(True Structure)

    4)图状结构(Graphic Structure)


    数据结构(Data Structrue)简记为DS,是一个二元组,DS=(D,S),其中D为数据元素的有限集合,R是数据元素之间关系的有限集合。

    6、算法(Algorithm):是对某一特定类型的问题的求解步骤的一种描述,是指令的有限序列。它具有有穷性(Finity)、确定性(Unambiguousness)、输入(Input)、输出(Output)和有效性(Realizability)。针对算法优劣的评价标准包括正确性(Correctness)、可读性(Readability)、健壮性(Robustness鲁棒性)、运行时间(Running Time)和占用空间(Storage Space)。

    7、算法的时间复杂度(Time Complexity):指算法的运行时间与问题规模的对应关系。通常把算法中基本操作重复执行的次数作为算法的时间复杂度。它是与问题规模n相关的函数。记作T(n)=O(f(n)),例如T(n)=n(n+1)。

    常见时间复杂度举例:

    1)、O(n) 

    x=n; y=0; while(y<x){ y=y+1; }

     2)、O(n2

    for(int i=1;i<n;++i){
    for(int j=0;j<n;++j){ A[i][j]=i*j; } }

    3)、O()

    x=n; y=0; while(x>=(y+1)*(y+1)){//即x=y2+1 y=y+1; }

    关于算法复杂度,推荐一篇好文http://www.matrix67.com/blog/archives/529

    8、高等数学相关基础知识

    计量单位(Unit):字节为B,位缩写为b,兆字节为MB,千字节缩写为KB

    阶乘函数(Factorial Function):5!=5*4*3*2*1=120,特别地,0!=1

    取下整和取上整(Floor and Ceiling):⌊3.4⌋=3(下整) ,⌈3.4⌉=4(上整)

    取模操作符(Modulus):n=q*m+r ⇒m=n/q

    对数(Logarithm):若ab=N,那么数b叫做以a为底N的对数,记作logaN=b,其中a叫做对数的底数,N叫做真数。

    递归(Recursive):算法调用自己或间接调用自己。

    ========================================================

    C#数据结构系列文章:

    1、基础知识

    2、顺序表Sequence List

    3、单链表Singly Linked List

    4、双向链表Double Linked List

    5、循环链表Circular Linked List

    6、栈Stack

    7、队列Queue

    8、串

    9、数组Array

    10、树Tree

    ...

    我的主页:http://www.51obj.cn/

  • 相关阅读:
    二叉树前中后、层次遍历
    二叉查找树-插入、查找某个值节点、查找前驱或后继、删除
    查找算法-二分、插值、斐波那契
    8个排序算法
    split函数实现
    strlen、strcmp、strcat、strlen、memmove
    thinkphp5 404 file_put_contents 无法打开流:权限被拒绝
    小程序之旅——第六站(模板首页)
    小程序之旅——第五站(登陆)
    小程序之旅——第三站(数据库用户权限设计)
  • 原文地址:https://www.cnblogs.com/walkingp/p/1720823.html
Copyright © 2020-2023  润新知