数据结构基础知识

 

数据结构是相互之间存在一种或者多种特定关系的数据元素的集合;--《数据结构》严蔚敏

数据元素都不是孤立存在的,他们之间存在着某种关系,这种数据元素之间的关系称之为结构;

通常有以下4种结构:

集合:结构中的数据元素之间除了同属于一个集合之外没有其他关系;

线性结构:结构中的元素存在着一对一的关系;

树形结构:结构中的元素存在着一对多的关系;

图形结构:结构中的元素存在着多对多的关系;

 

结构定义的“关系”:描述元素自己的逻辑关系;

数据类型:一个值的集合和定义在这个值集上的操作的总称;

 

高级语言中的数据结构分为两类:非结构的原子型:C语言中的整型、实型、字符型、枚举、指针型、空类型。

一类是结构型:结构类型的值是由若干成份按照某种结构组成的;可以是整型、实型集合;

 

 

时间复杂度T(n):

一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间度量记做:

T(n) = O(f(n))

Eg:

两个N*N矩阵的乘法:

For(i= 1; i<=n;i++)

For(j=1;j<=n;j++)

{

C[i][j] = 0;

For(k=1;k<.=n;k++)

{

C[i][l]+=a[i][k]*b[k][j];

}

}


在这个里面,c[i][j]+=这个操作被执行了 n*n*n

那么这个时间复杂度是O(N3);

 

再举例:

{x++;x=0;}

 

For(i=0;i<n;i++){x++}

 

For(i=0;i<n;i++)

For(j=0;j++;j++)

X++;


操作x++频度是1,n  n*n;

那么这段代码的时间复杂度是:O(1)O(N),O(N*N)

 

 

 

 

你可能感兴趣的:(数据结构,算法,C语言,指针,语言)