//时间复杂度
//PriorityQueue,peek当然是O(1),offer和poll是O(logn)-你想想把值插进去最慢也是O(n)了如果这样了用PQ做什么
//LinkedList,add,addFirst,addLast,remove,removeFirst,removeLast都是O(1),而remove(int index)需要指针走过去所以需要O(n)
//Java中ArrayList和Vector差别,ArrayList是async的,每次增加50%,Vector是sync的,每次增加100%,但insert时候都需要shift,https://www.geeksforgeeks.org/vector-vs-arraylist-java///关于list的内部
//1)LinkedList可以理解为queue,从左往右head到tail中间是next,insert是发生在head部位,remove发生在tail部位,即先进先出,http://www.algolist.net/Data_structures/Singly-linked_list/Removal
//2)但java中的LinkedList是用doubly linked list实现的,本质是一样的先进先出,但print的时候会看起来是和存储顺序相反的https://www.geeksforgeeks.org/linkedlist-remove-method-in-java/?ref=rp
//3)注意你无论画arraylist,linkedlist,vector,doubly linked list,head都是在左侧,tail在右侧,而当你画queue时候相当于list顺时针旋转了45度

数据结构中confusing的地方整理相关推荐

  1. [数据结构]数据结构中各种树

    阅读目录 1. 二叉树 2. 二叉查找树 3. 平衡二叉树 3.1 平衡查找树之AVL树 3.2 平衡二叉树之红黑树 4. B树 5. B+树 6. B*树 7. Trie树 数据结构中有很多树的结构 ...

  2. 数据结构中的有序和无序

    数据结构中的有序和无序 文章开头首先感谢正在学C++博主 个人最起始的迷惑 我的迷惑来自有序列表这个名词. 在我的印象中有序的数据结构是可以保留插入顺序的一种数据结构.而无序则是指在插入数据时进行了排 ...

  3. 数据结构中堆栈和内存堆栈的区别

    最近接触数据结构中的堆栈,想到了初学Java时,关于新实例化或者定义一个对象时候,声明对象,对象的变量名存放在栈内存中,当我们手动new之后,就会在堆内存中开辟一个空间,用来存放变量地址值,并将变量地 ...

  4. 堆(概念,数据结构中堆与内存堆区的区别 ,堆的基本操作)

    堆的特性: 必须是完全二叉树 用数组实现 任一结点的值是其子树所有结点的最大值或最小值 最大值时,称为"最大堆",也称大根堆: 在完全二叉树中,任何一个子树的最大值都在这个子树的根 ...

  5. 二叉搜索树的删除操作可以交换吗_一文看懂数据结构中的树

    通常在开始学编程的时候,你会接触一些常用数据结构.到最后一般会学到哈希表.对于修读计算机科学学位的朋友,你通常要上专门的数据结构课,从了解有关链表.队列和栈的各种知识.这些统称为线性数据结构,因为依逻 ...

  6. 数制转换c语言编程,C语言数据结构中数制转换实例代码

    C语言数据结构中数制转换实例代码 数制转换是严蔚敏的数据结构那本书中的例子,但是那本书中的例子大都是用伪代码的形式写的,不是很容易理解和实现,对初学者造成了不小的困扰,在这里我们将其详尽的实现出来,以 ...

  7. 什么是内存中的堆和栈?与数据结构中的堆和栈有什么区别?

    内存中的堆和栈 一直使用堆和栈的相关概念,对内存中(操作系统)中的堆与栈和数据结构中的堆与栈一直不求甚解,这次,突然想起这个问题,在此进行一个简单梳理归纳,如有错误,恳请读者指出. 栈(stack) ...

  8. 数据结构中的C语言编程基础

    ​ 在学习数据结构时,需要我们编写许多的程序,对于一些变量的定义.结构体的声明.指针的使用,需要有一个统一的标准,这样才能方便我们使用.并简化记忆难度. ​ 本文结合自身的编程经验和高分笔记中对考研数 ...

  9. 心中有“树”!图文并茂介绍数据结构中常见的树(三)

    在前面两篇文章中,我们简要介绍了数据结构中的各种[树]在搜索.数据库等领域的使用场景,希望对大家有所帮助. 本篇内容,是我们 <心中有"树"> 系列的最后一篇,我会在这 ...

  10. 心中有“树”!图文并茂介绍数据结构中常见的树(一)

    提到数据结构中的树(Tree) ,大家应该都不陌生,相关书籍中都有大段篇幅的介绍,刷 Leetcode 的时候会遇到很多相关问题.很多人往往会用 "手写红黑树" 来形容面试难度很高 ...

最新文章

  1. C++中std::sort/std::stable_sort/std::partial_sort的区别及使用
  2. ArrayList之坑点
  3. ansible unarchive模块
  4. yum 安装包的用法
  5. linux系统函数 utime,utime函数
  6. 7.3.Zeng_Cache(4) --- 后端
  7. c语言crc编码函数,C语言:CRC校验
  8. python爬取上证50ETF成分股信息
  9. 自动化邮件报告平台-邮件发送highchart图表
  10. ubuntu ogv
  11. xp怎么让计算机开启ftp,Win7和WinXP共享打印机和FTP怎么设置
  12. 获取附近小区信息_小程序获取当前位置加搜索附近热门小区及商区的方法
  13. 微信支付宝多商户解决方案
  14. 每年3月12日为植树节
  15. 在微服务架构中管理技术债务
  16. macbook 安装iperf_【优秀的网络性能测量工具----Iperf】-Linux/Unix/MAC OSX操作系统论坛-ZOL中关村在线...
  17. 计算机基础课小论文,计算机基础课程论文参考文献大全 哪里有计算机基础课程参考文献...
  18. 解决 CMD 命令行中文件路径有空格
  19. 双变量polynomial commitment
  20. 移动端前端框架UI库(Frozen UI、WeUI、SUI Mobile)

热门文章

  1. 阿里云盘 手动获取token教程
  2. 云原生落地实践的25个步骤
  3. 一键生成属于自己的QQ历史报告,看看你对自己的QQ了解程度有多深?
  4. 计算机无法识别sd存储卡,解决方案:详细来说,计算机无法读取SD卡
  5. 5分钟之内,让你轻松掌握面试流程
  6. winhex可以编程c语言吗,如何用winhex解密加了密的mp4视频
  7. 深入Unreal蓝图开发:自定义蓝图节点(中)
  8. PowerBI可视化实战:商品销售动态ABC分析案例
  9. 静态存储分配和动态存储分配
  10. Python:实现simpson approx辛普森算法(附完整源码)