摘要: 二叉树前中后序遍历是二叉树一章的入门级基础,在后续的知识的延伸中起重要作用。 最常见的遍历方式有递归和非递归,递归存在效率问题,常见的非递归遍历由于要创建辅助栈同样存在空间损耗,因此空间复杂度为O(1)的Morris遍历成为我们的最优解。 首先看看morris遍历的模型代码 ` public voi 阅读全文
posted @ 2020-11-11 01:11 0118101437 阅读(379) 评论(0) 推荐(0)
摘要: Hashmap是java日常开发中最常用的集合类之一,它底层基于散列算法实现,注意:hashmap类是一个非线程安全类,在多线程环境使用时可能会出现线程安全问题。Hashmap源码细节很多,本文将记录作者学习部分常用方法时对底层实现原理的理解。 hashmap的数据结构图如图所示: 在jdk1.8之 阅读全文
posted @ 2020-11-19 01:04 0118101437 阅读(300) 评论(0) 推荐(0)
摘要: 在纸上复现算法过程是我个人认为学习链表最有效的方法 一开始学习链表的时候很容易搞混链表的指针指向,读不懂题,然后我每次做题的时候都会把算法过程在纸上写一遍,久而久之做题时在脑子里就很容易复现整个过程,而且能逐渐脱离草稿纸在心中复现,在后续面对难度增大的题目时也能很好地分析过程。 链表中常用方法:创建 阅读全文
posted @ 2020-10-31 00:52 0118101437 阅读(51) 评论(0) 推荐(0)