当前位置:   article > 正文

数据结构/算法 快速复习篇_算法快速复习

算法快速复习

一、常见的数据结构.

  1. 。先进后出,如同一口井。
  2. 队列。先进先出,如同一条2头通的管道。
  3. 链表。以单个或多个结点,连接在一起的方式实现。分为单链表和双链表。区别在于,单链表是每一个结点只链结下一个结点。而双链表,既连接前一个结点,也连接下一个结点。双连接更利于双向编辑,但更加占内存。具体用哪个,视使用场景来看。
  4. 数组。以有序的方式,存放相同数据元素的一种数据结构。
  5. Map。以键值对的方式,一一对应存在。
  6. HashMap。基于Map的原理,内部是以数组+链表的组合方式实现。数组存的是链表,在没有Hash冲突的情况下,每个链表都只有一个节点。当出现Hash冲突时,将冲突的数据,添加在链表的未端。所以,HashMap查找的时间复杂度,最佳情况下为O(1),最差的情况为O(n)。Java8后,HashMap采用红黑树算法实现。所以,时间复杂度等同于红黑树查找结点的时间复杂度,为O(logn)。
  7. 二叉树。 以树状的形式链接,除叶子结点外,每个结点,有1个或2个子结点。
  8. 完全二叉树。 在二叉树的基础上,如果一个非叶子结点的结点,存在右边子结点,则其必定也有左边子结点。但有左边结点,未必有右边结点。即是说,给非叶子结点添加结点时,总是先从左边添加。
  9. 满二叉树。 在完成二叉树的基础上。对于何一非叶子结点的结点,一定存在左右两个结点。所以,满二叉树一定是完全二叉树。但完全二叉树,未必是满二叉树。
  10. 红黑树。 参考这篇文章的定义部分:红黑树的时间复杂度分析。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/757266
推荐阅读
相关标签
  

闽ICP备14008679号