01 2019 档案
摘要:二分搜索树的contains方法实现逻辑如下: 6-6 二分搜索树的前序遍历 二分搜索树的遍历操作,遍历操作就是把所有节点都访问一遍 前序遍历:先访问节点,在访问左右子树。 递归代码:先写递归终止条件,再写递归组成逻辑 6-7 二分搜索树的中序遍历和后序遍历 中序遍历的业务逻辑如下: 后序遍历的业务
阅读全文
摘要:二分搜索树添加新元素60, 60>41(根节点),所以一定要插入到41的右子树。 接着在和58比较 对于二分搜索树的插入操作现在这么写是比较复杂的,在下一小节将改进代码,算法没有变化,但会让代码简洁很多。通过下一节,会让大家体会对于递归算法来说,一方面有不同是写法,另一方面终止条件也会有不同的考量。
阅读全文
摘要:6-1 为什么要研究树结构 6-2 二分搜索树基础 恢复内容结束 6-1 为什么要研究树结构 6-2 二分搜索树基础 恢复内容开始 6-1 为什么要研究树结构 6-2 二分搜索树基础 恢复内容结束 6-1 为什么要研究树结构 6-2 二分搜索树基础 二分搜索树基本代码
阅读全文
摘要:实际在编程的时候免不了要进行调试,就要用到main函数。 对于solution3,可以为它写一个main函数,调用removeElements方法,就需要创建一个由ListNode组成的链表,但是对于我们现在的代码是没有链表创建功能的,所以根本不可能进行调试,在这里同学们完全可以自己写一个函数来创建
阅读全文
摘要:lectcode 203. 移除链表元素 删除链表中等于给定值 val 的所有节点。 示例: 方法1 不采用虚拟头结点 其实 等价于 2.采用虚拟头结点
阅读全文
摘要:队列(先进先出) 本节使用改进的链表实现队列 从head端删除一个节点相对是容易的。 由于对这个链表的操作全部在链表的一侧完成,也就是head端或tail端完成,所以就不使用虚拟的头结点。是因为 不牵扯到对链表的中间元素进行删除或插入,所以也就没必要去统一→→对链表中间元素进行操作和对链表2侧元素进
阅读全文
摘要:可以把链表头作为栈顶,用链表作为栈的底层实现( LinkedListStack<E> implements Stack<E>),来实现出栈这样一个结构。
阅读全文
摘要:1.删除指定索引index处的元素 和向链表中添加元素一样,寻找到等待删除的元素前的节点 找到2前面的节点1, 2 删除链表中的指定元素
阅读全文
摘要:1.获取链表index位置的元素 2 修改链表index位置的元素(更新) 3 查找 4.打印输出
阅读全文
摘要:链表设置虚拟头结点dummyhead,这样对链表来说,第一个元素就是dummyhead的next所对应的节点元素,而不是dummyhead所对应的节点元素。 dummyhead位置所对应的元素是根本不存在的,这只是未来我们编写逻辑方便而出现的一个虚拟头结点。 dummyhead就是索引为0的这个位置
阅读全文
摘要:对于链表来说,我们要想访问存在在链表中的所有的节点,必须把链表的头给存储起来,头:head,也就是说在LinkedList这个类中,应该有个node型的变量,叫head,它指链表中的第一个节点。 1后面插666,,66后面接2。 要把666插入到正确的位置,必须要找到当我们插入666这个节点之后,节
阅读全文
摘要:数据存储在节点(node)中,对于链表而言,有2部分 对于链表来说就像火车一样,每一个节点其实就是一节车厢,在车厢中存储真正的数据,而车厢和车厢之间还要进行连接,以使得数据是整合在一起的,用户可以方便的在所有数据上进行查询等其他的操作,那么数据和数据之间的连接就是有next来完成。 链表优点:真正的
阅读全文