大厂必备数据结构与算法Java视频教程(上篇),java高级程序员必学的数据结构与算法

作者: 黑马程序员分类: 计算机技术 发布时间: 2023-02-24 09:02:53 浏览:974052 次

大厂必备数据结构与算法Java视频教程(上篇),java高级程序员必学的数据结构与算法

dd6211231:
我08年毕业的,从小白到关注传智播客,工作是因为看了张孝祥的书,后来听张孝祥的并发编程和汤阳光的oa项目,黑马这些年对我的帮助实在太大了,就像欠星爷电影票的感觉,几经风雨我也是架构了,但是黑马的精品课程我还是一如既往的认真听的。黑马将最有技术含量的,同时也是最难最枯燥的课程交给满老师,从jvm到jmm到netty到spring原理和今天的数据结构和算法,满神无疑是黑马最厉害没有之一的后台高手,所有课程完成的都相当精彩。感谢黑马,同时也感谢满神。是的,朝闻道夕死可矣也是我的座右铭

【回复】入行早就是好,现在入行你试试
【回复】为你点赞[tv_点赞][tv_点赞]
【回复】你是托吧,怎么哪里都有类似的评论
惠惠宝贝老婆:
支持黑马,最良心的培训机构了。真的太多太多好课了,把吃饭的课程都发到B站了。真的你如果真正了解黑马就知道黑马的课程有多良心,必须支持。希望大家多多支持黑马程序员。也希望黑马程序员越做越好

【回复】回复 @Manneristic :先学Java基础,毕竟数据结构是在某种语言基础上的一个进阶
【回复】回复 @羽落_YL : C++一定去看专门讲C++的数据结构,那根本不是一回事,听他们胡编乱造,浪费你几个月。写道算法题你就明白了,思想是一样的,但是真写算法不看思想,看的是实现,光有思想是没有大用处的,java和cC++的实现完全不一样。
送快递包洗厕所:
这个数据结构的课,绝对是我目前为止学的最爽最顺畅的,之前看过黑马之前的数据结构和尚硅谷的数据结构,看了前面都感觉有一股学不下去的感觉,就不学了,这个课,老师讲的通俗易懂,配上老师自己做的html动态效果演示,学的真的爽

【回复】是的,我也有这种感觉。黑马之前的课其实体验不是很好。没有坚持下来。尚硅谷的课我看了30多集了之后才发现这个视频,于是就换视频了。要不是hsp讲的,我估计不会看。首先,19年到现在都快5年了,老视频了。 其次是因为课程体系没有21年的900多集的那个java那么清晰,节奏没那么稳,所以落差有点大(刚看了500集就过来看数据结构了)。最后是他们的IDE是eclipse,界面UI我不是很喜欢。看的时候其实没什么,但是B站给我推荐了23年的这个视频后,我就挺果断的,就换视频了。清晰度也有提高,虽然两者都听的懂,主要还是体验拉满了。
【回复】回复 @Manneristic :先学java,数据结构与算法是非常难的课程,很多四五年经验的开发程序员都学不会,我只能算中等吧,数据结构核心思想太难了,简单说,整个数据结构与算法就是递归分治合并, 说起递归很容易,但是使用时太难
史莱姆从不白嫖:
发布第一天,盲猜最后一集出现很多撒花怪[tv_doge]

【回复】回复 @Manneristic :没有java基础的话建议先看基础,虽然算法思想是通用的
【回复】回复 @Manneristic : 肯定先学门语言
小冰冰拯救世界:
已学完,这个老师讲的真他妈的,什么叫抽丝剥茧,循循渐进,不像有的老师一上来就搞最终过程,根本听不懂,而且老师那还有很多面试题,笔试题我都买了,经过一个月的猛肝,终于在美团面试的时候一把过,美团的福利我就不多说了,免费换电瓶和充电,不说了老板叫我出餐了。

【回复】今天刚发你就学完了[OK]
【回复】回复 @嗯哦呵呃 :看看最后一句话
【回复】美团给了你多少钱?我饿了么加倍给[阴险]
黑马程序员满老师:
各位同学,二叉树已更新完毕!一套模板三种非递归遍历,欢迎指正!

【回复】大学毕业于满老师[脱单doge]
真实z:
刚学完说一下感想:老师讲的很多,配上神仙般的html,把这难以理解的指针都表现的很清晰了,但是我学完红黑树我个人的感觉是能听懂也能每行代码的意义和为什么要这么做,但是如果你让我来写,我就有种无处下手的感觉,就是感觉无法把所有的情况都考虑到位,老师在讲解尤其是红黑树的添加和删除的时候,是直接把结论放我脸上,然后我去把他转换为代码,但是我感觉难的不是把他转换成代码而是如何去得到这个结论,也不是说老师没讲这个结论为什么是这样的,就是有种缺少自己思考的过程,但是自己独立思考又感觉完全想不到这个结果,就有点迷茫。

【回复】算法是天资卓越的人发明出来的,他总结出来的规则我们只能去照着理解,但你说怎么发明这些规则,我觉得不是我们应该考虑的问题,毕竟大部分人只是凡人(包括我)
【回复】需要一定的方法论指导, 为思考提供材料, 加上自己的实践, 循环不变量, 递归, 分治, 贪心, 回溯, 枚举, 动态规划, 这些都是解决计算问题的基本方法论, 还需要配合上大量的编码实践, 有了足够的练习之后, 再加上对计算机本身的理解, 再面对新场景或者别人为什么这么用的时候就有灵感了, 理解的也很快, 至于发明, 那可能就是更深层次的思考了, 基于对计算机科学的哲学理解, 这些我觉得是天才的事, 和我这种凡人无关, 知道从哪来到哪去就够用了
【回复】你的疑问很好,老师也回答你了,怎么来的,这些是灵感是天赋,我们要做的是学会怎么用,然后再反思,设计者为什么这么思考,这么做的各种好处,然后慢慢加深理解,理解越深越是赞叹别人的天赋,然后更加明白自己能做到自己的要求就行了。天才般的发明创造本就是人类的最高奥秘。
怪盗鸭德_:
听说计算机离职率特别高,很多还是大厂。我是大三的,我觉得这个专业还是很不错的,毕业也好找工作。现在很多别的什么专业工作可不好找,看到很多师兄抱怨计算机怎么怎么样的,我就想这点苦都受不了,干别的肯定也不行。

【回复】笑死了,新的圣经[嗑瓜子]
【回复】同感,我也是大三,大家一起加油💪
timi0928:
已学完,说一下自己的感悟: 1、教学重难点突出,板书条理清晰。教学步骤设计合理,由浅入深,循序渐进。 2、教师基本功扎实,知识讲解准确,教学设计合理,始终以学生为主体,自主学习,小组交流讨论,上台交流展示等形式,师生配合默契,取得了较好的学习效果。 3、教师教态自然,语调亲切,并不断鼓励学生,充分发挥学生的主体作用。使学生在和谐融洽的课堂氛围中学习,推进了知识的掌握和智力的发展,达到了良好的教学效果。 4、教师准确的把握了设疑的方向,调动了学生学习的兴趣,使学生进入积极的的思维状态。 5、教师组织课堂教学效果好,语言清晰,能注重学法指导,培养学生的创新能力,问题设计富有启发性。 6、教学环节设计安排清晰明了,过渡自然。[doge][doge][doge]

【回复】看到狗头我就知道了[doge]
是彬彬呀_:
都说学好数据结构很赚钱, 我苦心专研了两年,其中参加了不少的培训。 刚培训完两个星期我就收到了美团网的offer , 我承认我不是班里学习最好的。 但我却是班里第一个找到工作的, 而且还是个大厂我一-直相信勤能补拙。 只要有决心什么事都是可以做到的,今天入职一个星期了。 公司的人对我都很好,还给我配了电动车和头盔还有大衣。 不说了马上超时了。

sf--启动:
看到avl树了,当然前面不是每集都看,看了大概80%左右,知识点大部分看了,一些LeetCode题目讲解,我是先到LeetCode上自己写一遍如果没有思路就看题解,把题解搞明白后自己再写一遍,当然我一个题可能会用多种方法写,比如递归迭代这样一个题可能很费时间,少则半小时,多则一小时,但是如果你是初刷会对你将来二刷很有帮助(我是这么认为的),然后当你刷完后再去看老师的讲解,首先理解老师的思路,如果老师思路和LeetCode上你写的类似,可以快速看一遍加深印象,如果不一样就再听一遍新的思路,不要怕麻烦,写算法题我感觉不在于多,关键在于是否真正把它弄会。大家加油吧各位。

【回复】回复 @我最爱浩浩 :能写出来就行,我不管那么多
【回复】感觉学了不久就会忘,还是得多做,多思考
asotI1O:
刷题:指左程云 白板:指代码随想录 上一届天花板:李明杰 这一届:满一航

【回复】代码随想录很强的 代码随想录是注重面试的算法,满叔讲的是入门的数据结构算法更详细
黑马程序员满老师:
各位同学,有更新了,二叉搜索树的增删改查

【回复】回复 @PS酷教程 : 大约4、5个月之后吧,内容多,更的慢[难过]
【回复】满老,啥时候更完~( ̄▽ ̄)~*[保卫萝卜_哭哭]
【回复】满老师yyds,讲的太好了
JamesGosIing:
Java31期,Day3,p5-p7 解决方案:无符号右移运算符,>>>1,无符号右移一位运算,对于偶数相当于/2,奇数相当于/2向下取整 原理:右移一位,最高位补零,得到的int结果代表的二进制数在正常带符号的二进制范围内 好处:多个语言通用,否则java除法自动取整,别的语言可能会手动取证 ### 为什么所有比较都是小于符号<? 因为本身的数组是升序排序的,用小于符号符合数组本身的逻辑,可读性高。 ## 整体思路: 1.首先设置了i、j两个指针,这两个指针呢,指向的是这个数字的两端, 2.当i在j的左侧,或者是它俩相等的时候,就循环来执行逻辑, 3.然后i在j的右侧,表示没有找到,返回失败的结果 4.中间这个循环,就是取i和j的中间值,把它的中间值跟目标值进行一个比较, 5.如果目标在中间值的左侧,接下来还应该在左边找,所以让右边界缩小到中间索引减一位置, 6.如果目标在中间值的右侧,目标在右侧,就改变左边界,让它增大成为中间索引位置右边一个位置, 7.循环缩小范围,直到中间值跟目标值相等,返回这个中间索引

黑马程序员满老师:
红黑树已经更新完毕,需要的小伙伴学起来吧

【回复】请问老师之后会更新图的内容吗
【回复】回复 @起名字呵呵 :acm的话 可以去acwing网站上学一下算法基础(是竞赛级的基础)
【回复】回复 @hyhffff : 我看了代码,好像没有问题啊,findNode() 返回的不可能是 tail,因为循环是这么写的: for(Node p = head; p != tail; ... 如果 p == tail 时就会退出循环返回 null, 这样 remove 里第一个判断null的检查就把它拦下来了
Zhuhjay:
满老师,在P68的杨辉三角使用一维数组进行优化的递归思路中,我认为row数组已经是上一行的数据记录了,而您在代码中使用了createRow(row, i-1)来对上一行进行递归计算的这一行似乎都不会被执行到,因为createRow(row, i)已经是从i=0开始已经对数组进行缓存了,在进行第i行的计算时都只需要直接使用row数组来进行计算即可,所以我在想这个递归会不会是多余的一部分,或者说它能够起到什么额外的作用吗 @黑马程序员满老师

【回复】有道理,这是我的失误,回头修改重录一下
【回复】回复 @黑马程序员满老师 :[给心心]谢谢老师解答,我也继续努力
羔羊不吃草:
满老师的课程数据结构、jvm、juc观看顺序是什么。还有他的其他课程吗,他太牛逼了吧

【回复】回复 @黑马程序员满老师 :哇,谢谢满老师亲自回复。黑马java的路线都是偏向web应用层的我跟着路线学到了spring boot觉得不太对劲,对于java的概念还是不够扎实,于是搜到了老师的jvm,juc,以及最新的数据结构,大赞,务必是要刷完的。另外我想问下,我是安全专业的,想转java代码审计方向,更偏向javaEE底层规范的课程,比如说什么jndi、rmi之类的,老师有什么课程推荐吗
【回复】回复 @黑马程序员满老师 :好的,感谢老师解答,还是先拜读完老师的课程先
【回复】回复 @羔羊不吃草 : 网上现在好像没这方面的课程,都属于较老的知识了

算法 编程语言 编程 教程 数据结构 黑马程序员 Java 编程开发 数据结构与算法 面试技巧大赏

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!