数据结构复习用简记第一章

数据结构

1.2.1-1.2.2

  1. 概念

  1. 数据:可被计算机识别并加工处理的对象

  1. 数据元素:由数据组成的具有一定意义的基本单位

  1. 数据项:组成数据元素的不可分割的最小单位

  1. 逻辑结构

  1. 线性关系(一对一)

  1. 树关系(一对多)

  1. 图关系(多对多)

  1. 集合关系(同属于一个集合的关系)

  1. 存储结构

  1. 顺序存储:将逻辑上相关的数据元素按顺序依次存储在连续的存储空间中

  1. 链式存储:存储顺序不能体现逻辑关系,需要用指针域存储逻辑上相关的数据元素的地址。一个结点分为元素本身和与该元素逻辑上相关的元素地址。

  1. 索引存储

  1. 散列存储

运算

  1. 搜索

  1. 插入

  1. 删除

  1. 更新

1.3 抽象数据类型

数据类型:

指性质相同的值的集合以及定义在该值集上的运算集合。

抽象数据类型:

对逻辑结构的描述方法

1.4 算法和算法分析

1.4.1 算法

一 算法特征

  1. 输入

  1. 输出

  1. 可行性

  1. 确定性

  1. 有穷性

二 与程序的区别

 算法可以用自然语言伪代码流程图等描述,但程序不行。

1.4.2 时间复杂度

判断:

  1. 一般情况下无循环的时间复杂度→O(1)

  1. 若计数器平稳变化:

  1. 一重循环→O(n)

  1. 二重循环→O(

  1. 以此类推

  1. 若计数器呈几何级数变化:

  1. 以二的倍速如1 2 4 8 …变化→O(

  1. 以此类推

  1. 若循环与两个参数有关→O(m*n)

例题:

i=1;k=0;
do
{
    k=k+10*i;i++;
}while(i<=n);

因为是平稳变化且一重循环,所以时间复杂度为O(k*)*O(n)

i=1;x=0;
do
{
    x++;i=3*i;
}while(i<n)

因为是几何级数变化(i)所以时间复杂度为O(

for(i=0;i<n;i++)
    for(j=0;j<n;j++)
        a[i][j]=0;

二重循环,平稳变化所以时间复杂度为O(

y=0;
while(n>=y*y)
    y++;

时间复杂度为O(

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值