Big O Notation for Algorithms in plain English

所在平台: Udemy

课程主页: https://www.udemy.com/course/big-o-notation-for-algorithms-in-plain-english/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**课程名称:** Big O Notation for Algorithms in plain English **课程概述:** 本课程通过一个引人入胜的虚构场景,生动地介绍了计算时间复杂度(Big O)的概念及其在实际应用中的重要性。故事围绕一家名为Firma Logistics的物流公司展开,该公司CEO因调度系统瘫痪而勃然大怒。当技术团队束手无策时,主角(学员)站出来,指出问题源于旧算法的二次运行时复杂度(O(n^2)),并提出一个线性(O(n))的解决方案。 课程旨在帮助学习者理解Big O表示法的基本原理,并学会如何评估算法的可扩展性。这对于软件开发人员至关重要,能够帮助他们: * **在职业生涯中脱颖而出:** 掌握Big O可以让你在众多开发者中区分开来,获得职业发展的优势。 * **通过技术面试:** 成为众多科技公司评估开发者能力的重要指标,是成功通过技术面试的关键。 课程代码使用Python编写,但课程设计对掌握其他主流编程语言(如Java, C#, JavaScript, Ruby等)的学习者也非常友好。 **核心内容:** * 理解Big O表示法,即如何衡量算法的运行效率和可扩展性。 * 识别不同时间复杂度(如O(n^2)和O(n))的特点及其性能影响。 * 认识到在算法选择和优化中的重要性,尤其是在应对大规模数据和复杂业务场景时。 * 通过实际案例学习如何选择或开发更高效的算法来解决实际问题。 **目标学习者:** 任何希望提升算法理解和分析能力的软件开发者,特别是准备技术面试或希望在职业生涯中更进一步的学习者。 **总结:** 本课程将带你走出“Brian”式的困境,通过易于理解的方式掌握Big O这一核心编程概念,让你在软件开发领域更具竞争力。

课程评论(0条)

课程详情

Angela Belfort, CEO of Firma Logistics strode into the meeting room quietly enraged. The way CEOs are enraged, composed and at the same time fuming. She is followed by her entourage. All the important people that make all the decisions. You've been at the company for just over a year and you're not quite sure how you ended up in this room.Her assistant had already set the room projector showing the live feed of the company's fleet, over 4000 lorries scattered all over the country. Each vehicle was shown as a dot, colored red as stationary, green as moving. Almost all of them were red."What the hell is going on? I have lorry drivers complaining to unions because we aren't able to give them a delivery schedule. I have furious suppliers on the lines asking for updates on their packages. We've got competitors circling over our clients like vultures. Can someone explain to me what is happening?", Angela started.Everyone was expecting an answer from the CTO, Brian Holms. Technically, on the huge org chart, he is your manager somewhere along the path from your position to the top, but it sure is a long way. He replies with "Er… em… We seem to be having some IT issues. I brought Alex here with me as she seems to have found a bug in the system".The focus is now completely on you. Hey, this might be the day you get fired after all… "It's not really a bug. A section of the current scheduling algorithm has a quadratic runtime complexity with respect to the number of routes".The room looks at you as if you said the moon was made out of cheese. The big wigs turn their heads back to Brian for an explanation, but he seems as lost as they are. Instead he nervously nods, encouraging you to go on."Ok. Remember Paul Zimmer? Our ex-tech lead guy? Well it turns out that some of his old code does not scale well. It was fine while we had a few hundred lorries, but now that the company has grown so much the scheduling program is not able to keep up with the load. Especially on busy days like today. We have not really invested in keeping the code with the latest technologies and now nobody knows how it really works." This is literally the most dumbed down version you can think of.Angela jumps in "Where is this Paul?""He retired about a year ago. Rumor has it he opened an American diner in Hong Kong.", replies Brian.Angela's composure is all gone now. "Can we fix the damn thing?", she shouts."Well it's very old code, nobody really understands how it works and we have been trying to reach Paul but if he's in a different country… ", puts in Brian but is interrupted by you."I already have a working linear solution. By linear I mean it will scale fine with our needs. I just need to run some further testing and then we can probably release it."Brian is visibly shocked. Everyone else is kind of confused, not completely sure what is going on. Angela is the only one with a grin.Understanding the basics of Big O notation and being able to "read" how much an algorithm can scale is a must for all serious developers. This extra skill gives you the edge to take your career forward, to distinguish yourself from the rest of the crowd and get ahead. It helps you pass difficult coding interviews to get hired from some of the best tech companies.The code in this course is in Python however if you have experience from any other major programming language (such as Java, C#, JavaScript, Ruby etc...) you'll be ok with the code in the course as it's designed to be easy to grasp.All code in this course can be found on github, username/project: cutajarj/BigONotationInPlainEnglishSo don't be a Brian, sign up to the course and learn something new today!

课程标签

0人关注该课程

主题相关的课程