首页 > 代码库 > 数据结构与算法 基于c语言篇

数据结构与算法 基于c语言篇

学习数据结构与算法走向深蓝之路

第一章:数据结构与算法概念型

数据结构:数据之间的相互关系,即是数据的组织形式.

基本组成:{

数据:信息的载体

数据元素:数据基本单位:

}

其结构形式有四种:

1,集合结构  2,线性结构.   3,树形结构  4,图形结构

 

在计算机中的存储有量中形式:

顺序存储(数组形式)和非顺序存储(链式存储结构)

1.1抽象数据类型:指的是数据模型或者定义在数据模型上的一组操作

(D,R,P){

D是数据对象,

 R是D上的关系集

P是对D进行的操作}

ListInsert(&L,i,e):

ListDelete(&L,i,e):

插入与删除

 

算法是解题步骤,是指令的有限序列,一个问题的解决方案要以算法为基础.

数据结构+算法=程序

 对算法进行度量:

{1,算法的时间复杂度(就是耗时间资源),  2,空间复杂维度(所占内存的度量)}

算法例子:

例1:需要额外空间

void swap(int  &a,int &b){
    int temp;

    temp=a;

    a=b;

    b=temp;

}

 

例2

void swap(int  &a,int &b){

     a=a+b;

     b=a-b;

     a=a-b;

}

算法定理(计算时间)

定理1:

如果T1(N)=O(f(N))且T2(N)=O(g(N))那么

1 ,T1(N)+T2(N)=max(O(f(N),O(g(N))

2,T1(N)*T2(N)=O(f(N)*O(g(N)

定理2:

如果T(N)是一个K次多项式,则T(N)=θ(NK)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数据结构与算法 基于c语言篇