zoukankan      html  css  js  c++  java
  • 算法解读笔记

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

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

       

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

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

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

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

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

     

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

     

    4、二叉树

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

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

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

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

  • 相关阅读:
    spark shuffle 机制
    hive explain 源码分析
    前端jQurey
    js-dom操作
    前端JS
    前端CSS
    Redis和MongoDB区别
    MySQL数据库备份
    MySQL索引
    python连接mysql服务端
  • 原文地址:https://www.cnblogs.com/actionkong/p/3446439.html
Copyright © 2011-2022 走看看