数据结构 链表

1.衡量一个程序是否优秀:
    1.时间复杂度:
        数据量增长与程序运行时间的比例关系以函数描述称为时间渐进复杂度函数,简称时间复杂度
        O(c) > O(logn) > O(n) > O(nlogn) > O(n^2) > O(n^3) > O(2^n)
    2.空间复杂度:
        数据量增长与程序所占用空间的比例关系称为空间复杂度

2.数据结构:
    数据之间的关系 
        逻辑结构:
            1. 线性结构
                一对一 表
            2. 非线性结构
                一对多 树 
                多对多 图
        
        存储结构:
            1. 顺序存储结构
            2. 链式存储结构
            3. 离散存储
            4. 索引存储

6.链表:
    1.空间可以不连续,访问元素不方便
    2.链表需要更大的空间存放数据和节点地址
    3.链表空间不连续,使得理论上长度是无限的
    4.链表的插入和删除效率很高

    链表的分类:
        1.单向链表
        2.双向链表
        3.循环链表
        4.内核链表

链表相对于顺序表的优势:

        1.链表可以动态的增加或者减少节点,而顺序表在一开始就定义了大小,扩展或缩小数组会涉及内存的重新分配,效率低下;

        2.插入和删除效率 链表更容易时间复杂度为O(1),顺序表需要整个移动大量资源时间复杂度为O(n);

        3.链表的内存可以是碎片化不连续的内存,而顺序表一定是需要连续的内存,会出现浪费行为

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值