• 算法解读笔记


    1、查找第N个元素时,数组比较快,链表比较慢。

    • 查找第N个元素时,利用数组中的下标可以直接查,但在链表结构中查找时需要从第 1 个元素开始顺序遍历而花费不少时间。

       

    2、插入和删除数据时链表比较快,数组比较慢。

    • 在顺序排列的数据列中的特定位置插入新的数据时,数组要把插入位置后面的所有元素都向后移动。(删除也一样)

    • 对于链表,断开插入数据位置的前后的链,将新的数据连接到链表中就可以了。(删除也一样)

      插入数据时,通常只要把链断开,再将链重新连接,一次处理就能执行插入操作,时间消耗很少。

    • 执行数据的插入、删除操作时,利用链表的指针效率很高,但发生数据移动时花费的时间较多。

     

    3、环形缓冲是数组的头尾相连的数据结构,尾元素的下一个元素即为头元素。

     

    4、二叉树

    • 根据一个父结点和两个子结点的关系管理数据的结构称为二叉树。

    • 没有父结点的结点称为“根结点”,没有子结点的结点称为“叶结点”。

    5、堆:父结点的值不得比子结点的值大的二叉树。(或父结点的值不得比子结点的值小的二叉树)

    • 堆在求最大最小值的时候效率比较高,直接可以从根结点得到。

  • 相关阅读:
    Eclipse 重构功能的使用与重构快捷键
    Idea工具常用技巧总结
    Eclipse常用快捷键
    RabbitMQ的原理和使用
    总结消息队列RabbitMQ的基本用法
    rabbitmq常见运维命令和问题总结
    关于RabbitMQ关键性问题的总结
    Rabbit MQ 面试题相关
    RabbitMQ的使用总结
    史玉柱: 我的成功不是偶然(底下还有一堆相关链接)
  • 原文地址:https://www.cnblogs.com/actionkong/p/3446439.html
Copyright © 2020-2023  润新知