数据结构-绪论

目录

一、数据的存储结构(优缺点)

1、顺序存储

2、链式存储

3、索引存储

4、散列存储

二、算法

1、算法特性

2、好的算法

3、常见时间复杂度

4、分析时间复杂度


一、数据的存储结构(优缺点)

1、顺序存储

        特点:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。

        优点:随机存取,每个元素占用最少的存储空间。

        缺点:只能使用相邻的一整块存储单元,因此可能产生较多的外部碎片。

2、链式存储

        特点:不要求逻辑上相邻的元素在物理位置上也相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系。

        优点:不会出现碎片现象,能充分利用所有存储单元。

        缺点:每个元素因存储指针而占用额外的存储空间,且只能实现顺序存取。

3、索引存储

        特点:在存储元素信息的同时,还建立附加的索引表。

        优点:检索速度快。

        缺点:附加的索引表额外占用存储空间;增加和删除数据时也要修改索引表,因而会花费较多的时间。

4、散列存储

        特点:根据元素的关键字直接计算出该元素的存储地址,又称哈希存储。

        优点:检索、增加和删除结点的操作都很快。

        缺点:若散列函数不好,则可能出现元素存储单元冲突,而解决冲突会增加时间和空间开销。

二、算法

1、算法特性

        有穷性、确定性、可行性、输入、输出。

2、好的算法

        正确性、可读性、健壮性、高效率与低存储量需求。

3、常见时间复杂度

O(1)<O(log_{2}n)<O(n)<O(nlog_{2}n)<O(n^{2})<O(n^{3})<O(O(2^{n}))<O(n!)<O(n^{n})

4、分析时间复杂度
类型一:

for(i=0;i<n;i++)
    for(j=0;j<n 或 j<i;j++)
        for(k=0;k<j 或 k<n;k++)
O(n^3)  ---放缩法

类型二:
for(i=1;i<n;i*=2)
    for(j=0;j<i;j++)
对外层循环每一个值i求出内层循环次数并求和

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值