摘要: 树作为(单)链表的升级版,我们通常接触的树都是二叉树(binary tree),即每个节点最多有两个子节点; 还有一种特殊的树:搜索二叉树,它是按照左小右大的顺序存放元素。 遍历树的时候可能会涉及深度优先搜索和广度优先搜索。不会的小伙伴可以查看我的"一切皆可搜索"。遍历树一般使用递归。 一.树的递归 阅读全文
posted @ 2022-01-17 23:47 小猴子_X 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 链表是由节点和指针构成的数据结构,每个节点存有一个值,和一个指向下一个节点 的指针,因此很多链表问题可以用递归和while迭代来处理。 链表可以实现分散存储,不同于数组,链表并不能直接获取任意节点的值, 必须要通过指针找到该节点后才能获取其值。 说白了,玩链表本质就是玩指针。下面列出常见的链表算法 阅读全文
posted @ 2022-01-17 13:11 小猴子_X 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。 常见的双指针有三种。 左右指针:两个指针指向同一数组,但是遍历方向相反,常用作搜索排序数组的两个符合条件的数,以及其他特殊情况。 快慢指针:两个指针指向同一数组,遍历方向相同,fast指针快,slow慢。然后它俩同时向前移动,初始的 阅读全文
posted @ 2022-01-17 00:41 小猴子_X 阅读(105) 评论(0) 推荐(0) 编辑