数据结构与算法——左程云05
【前言】:
后续有时间会把文中的图片整理好,将纸质笔记中的图做成JPG。
【1】:链表遗留
【单链表相交】:
单链表算法层次上最难
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K0WslDXs-1663993923868)(/Users/yuguangyao/Library/Application Support/typora-user-images/image-20220819223715371.png)]
//这道题本身和节点上的值是没有关系的;
//两个链表中有某一个节点的内存地址是同一个,那我们就说这两个链表相交。
【理解相交】:
《@@53_1》
【判断函数】:
一个链表如果有环,那么请返回第一个入环的节点 , 如果无环,则返回NULL;
(入参)——该链表的头节点;
【简单的哈希表方法】:
《@@53_2》
【不存在的结构】:
如果一个链表有环,那么它一定会掉入到自己的环中出不来,它一定会掉入到自己的环里出不来,也不可能走到NULL,每一个节点都只能有一条往外指的next指针;
《@@54_3》
【总结】:
找一个变量一直往下走 , 如果它走到空节点了 , 这个链表它肯定是没有环的,如果它走不到空节点,你又因为把沿途的节点都放到了哈希表里去 , 你每到一个节点都去查——当前的节点在不在哈希表里,如果有环,你一定会遇到——这个重复发现的时刻。当你发现下一个节点是哈希表中已经有的节点,那么该结点一定是第一个入环的节点。
【不用哈希表Find第一个入环的节点】:
《@@54_4》
//如果无环,肯定会走到NULL;
//如果有环,一定会陷入循环;
【 无环单链表情况讨论 】:
《@@56_5》
【求无环单链表相交节点】:
《@@57_6》
【有环链表情况讨论】:
《@@57_7》
【2】:二叉树
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PJaDCSbF-1663993923869)(/Users/yuguangyao/Library/Application Support/typora-user-images/image-20220820203038462.png)]
【叶子节点】:
左右孩子都为null 的节点;
【递归序】:
public static void preOrderRecur(Node head) {if (head == null) {return;}System.out.print(head.value ); //【第一次】// 1preOrderRecur(head.left); //左侧去递归遍历 ~System.out.print(head.value ); //【第二次】// 2preOrderRecur(head.right); //右侧去递归遍历 ~System.out.print(head.value ); //【第三次】}
《@@60_8》
//递归方法去完成二叉树的遍历 , 每一个节点都能回个3次( 每一个节点中的数字,都能在篮框中找到3次 );
//虽然某一次的时候可能什么也没干 , 但是, 它是可以回到的。
【三序遍历】:
在递归序的基础上,可以加工出三种顺序的遍历——先序、中序、后序。
【先序遍历】:
对于所有子树来说——先打印头节点,再打印左子树上所有的节点 , 再打印右子树上所有的节点;
《@@60_9》
//只在第一次的时候打印 , 二、三次的时候 , 什么也不干~ ~ ~ ! ! !
【中序遍历】:
《_10》
利用递归序,第二次来到该节点的时候才打印 , 不是第二次来到该节点的什么也不做。
【后序遍历】:
《@@_11》
递归序中第三次的打印——后序。
【总结】:
先序、中序、后序 都可以由 《递归序》加工过来(只是选择打印的时机不同。)
【非递归频率】:
非递归行为在面试场上经常出现 , 看你有没有理解~~~!!!
【非递归实现三序】:
一个定则:
//任何递归函数都可以改成非递归函数——这是一定的!!!
【非递归先序】:
《@@62_12》
【非递归后序】:
《@@63_13》
【非递归中序】:
《@@65_14》
【左边界】:
所有的树都是可以被《左边界》给分解掉的 ~
《@@68_15》
【树打印福利函数】:
《@@69_16》
【二叉树面试】:
二叉树的Coding难度大于链表,单很少考二叉树Coding的难度 , 一般都是算法居多。
【二叉树的深度优先遍历】:
对于二叉树来说,深度优先遍历就是==〉先序遍历。
【二叉树的宽度优先遍历】:
〈@@69_17〉
【求一颗二叉树的最大宽度】:
//你要能知道当前的节点在第几层 , 你还得统计这一层有多少个节点~~~
【得有一种机制】:
知道在遍历的过程中 , 哪一层的范围是多少。
代码才是核心( 此题无法图解 )
《@@71_18》
【新手研究方法】:
用纸画图 , 一点儿一点儿扣 , 看上去似乎很笨 , 但是这至少能保证你能看懂;
【求一颗二叉树的最大宽度(不用哈希表)】:
Node curend //当前层最后一个节点;( 你现在弹出的节点所在层中,这一层的最后一个节点 )Node nextend. //下一层最后一个节点;( 当前所在层的下一层 )int curlevel //当前层发现的节点数;int max //结算时的节点数————当前层的节点总数;
《@@71_19》
数据结构与算法——左程云05相关推荐
- 数据结构与算法——左程云03
[前言]: 看了左神的很多视频,感觉一些算法最好的复现方式应该是用一张张的图来细节刻画,个人感觉这种效果会比动态图要好. 故在此先将全部的笔记附到这里,后续在一点一点把过程图复原完整(暂时没研究手绘软 ...
- 数据结构与算法——左程云09
[前言]: 后续有时间会将纸质笔记中的过程图更新上来. [1]: [Dijkstra使用堆加速]: <@@119_1> [这个方式还可以加速]: //可以通过小根堆的方式来拿值. //系统 ...
- 数据结构与算法——左程云06
[前言]: 后续会将纸质笔记的过程图更新上来. [1]:二叉树遗留 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v4boF5Zj-1663994025825)(/Us ...
- 数据结构与算法——左程云08
[前言]: 后续有时间会更新上纸质笔记中的过程图. [1]:前缀树 [解释前缀树]: <@@93_1> [TrieNode]: <@@95_2> [代价极低]: 一个前缀树一旦 ...
- 数据结构与算法——左程云04
[前言]: 后续有时间会将文中的图片部分,以及手写笔记中的过程图制作成JPG图片上传. [1]:排序算法的稳定性 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-39Zp ...
- 一周刷爆LeetCode,算法da神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记
一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记 教程与代码地址 P1 出圈了!讲课之外我们来聊聊 ...
- 一看“左程云:200道算法与数据结构”,二刷“阿里云:70+算法题、30种大厂笔试高频知识点”,3月过去终于挺进我梦中的字节!
不管是学生还是已经工作的人,我想彼此都有一个相同的梦想:进大厂! 眼看着2020年还有个三十来天就要完美收尾了,那么如何才能在未来三个月弯道超车赶上"金三银四的春招",进入梦寐以求 ...
- 数据结构与算法XS班-左程云第八节课笔记(归并排序和快速排序)
第8节 归并排序和快速排序 ##这是数据结构与算法新手班-左程云第八节课的笔记## 归并排序 归并排序实际上是一个很经典的排序方法,时间复杂度o(N*logN). 递归版本(图解排序算法(四)之归并排 ...
- 数据结构与算法XS班-左程云第一节课笔记(位运算、算法是什么、简单排序)
第1节 位运算.算法是什么.简单排序 ##这是数据结构与算法新手班-左程云第一节课的笔记## 1. 位运算 // 你们会不会表示一个数字的32位啊? // Java中int类型默认以32位二进制数在计 ...
最新文章
- html 密码框自动填充,解决chrom浏览器input密码框自动填充
- SEM那些被人混淆的事儿(已完结)
- Office快捷键大全之三(Access快捷键下篇)
- Spring Boot application.yml文件语法
- 2016.03.18 近日买房以及学习事项
- 程序员月薪2万怎么了?8千又怎么了?
- mysql中字符串处理替换字符replace和连接字符串函数concat
- springmvc 配置aop
- vue axios封装 类方法
- 【R文本分析】《工作细胞》是一部成功的科普番嘛?
- 泛微OA前端经验总结
- 新买的电脑网速慢的解决方案
- errorcode 微信分享_微信公众号网页授权code问题
- 海外抖音Tiktok这么火,到底值不值得做?
- OSChina 周四乱弹 ——世界欠你一个奥斯卡
- FDC2214-纸张计数显示装置
- JQuery 多选下拉列表左右移动
- 幼儿抽象逻辑思维举例_如何激发3-6岁孩子的学霸潜质?关键一招就在逻辑思维训练|绘本|数学|游戏书...
- 为Electron 打包后的桌面程序添加自定义向导
- ASP的缓存数据技术
热门文章
- 金仓数据库KingbaseES安全指南--6.5. LDAP身份验证
- winscp 列出‘/users‘的目录项时出错解决方法
- 一文让你知道关于App推送那些事
- 最强绘图AI:一文搞定Midjourney(附送咒语)
- 八猴PBR原理文档熟肉。PBR原理了解必备。
- oppo手机用计算机充满电,OPPO手机的充电小技巧,打开这个开关,让你充一次电可玩三天...
- 索尼koov机器人比赛_索尼KOOV机器人诞生2周年纪念日新起点一起再出发
- 骨传导蓝牙耳机品牌哪个好、最值得入手的骨传导耳机推荐
- Odoo 16 企业版手册 - 库存管理之仓库管理
- R9 7950X和R9 5950X 差距