Lecture 19: Dynamic Programming I: Fibonacci, Shortest Paths

Поділитися
Вставка
  • Опубліковано 21 тра 2024
  • MIT 6.006 Introduction to Algorithms, Fall 2011
    View the complete course: ocw.mit.edu/6-006F11
    Instructor: Erik Demaine
    License: Creative Commons BY-NC-SA
    More information at ocw.mit.edu/terms
    More courses at ocw.mit.edu

КОМЕНТАРІ • 1,3 тис.

  • @JanacMeena
    @JanacMeena 4 роки тому +1416

    The instructor, Erik Demaine, is the youngest professor of all time at MIT and a child prodigy. He has published several articles in scientifical journals, and and now has helped several students publish their own articles. He is one of the modern day geniuses of our time. We are extremely lucky to have a free video of his lecturing.

    • @lukeTHEDUUKE
      @lukeTHEDUUKE 2 роки тому +11

      he's no genius

    • @alesc3252
      @alesc3252 2 роки тому +155

      @@lukeTHEDUUKE he was a child prodigy when he was 7, he finished college at 14 and got his phd when he was 20. He has won plenty of awards and is the youngest teacher at mit for a reason. Most people think that if someone speaks a lot and you dont undestand him then he must be smart, but actually intelligent people, like mr. Erik demaine, can take complicated concepts and explain them in a way that a lot of people like ourselves can undestand them

    • @sammyholdem2492
      @sammyholdem2492 2 роки тому +4

      So this guy is like dumb smart? A 🐐 of numbers? I'm a dummy and have no clue what is going on in this video but guys and girls that know this stuff it blows my mind. All I'm wondering is does this really figure things out or is this just made up by some super smart people that make these things up for fun

    • @lx4302
      @lx4302 2 роки тому +18

      ​ @sammy holdem it's not about being smart, people who have been doing one thing all their life can be extremely good at it.

    • @manmeetworld
      @manmeetworld 2 роки тому +7

      @@sammyholdem2492pretty sure it's for faster run times i.e., you're in the program and it outputs your results faster. Or in some cases you may never get the result, like the work on the processor to store all the bits gets used up to the point of failure or low mem. Because I think, what's not explained real well right off the bat is that this program is constantly looping to get to the next fib.

  • @sohntv8105
    @sohntv8105 3 роки тому +400

    Watching this 6 years after graduation. The irony of skipping class...

    • @ShubhamSinghYoutube
      @ShubhamSinghYoutube 2 роки тому +15

      Never too late to start.

    • @Stl71
      @Stl71 2 роки тому +1

      I was lucky enough to find out that there are a lot of videos in yt that could help me during my CS programm...And they really did help me.

    • @yanfranca8382
      @yanfranca8382 9 днів тому

      how about 11 years? kkk

  • @AbhishekEkaanth
    @AbhishekEkaanth 4 роки тому +2019

    I just googled him to know that he finished his bachelor's degree at 14 years of age at Dalhousie University in Canada. damnn!!!!

    • @osmedia7239
      @osmedia7239 4 роки тому +62

      geez. Smart guy.

    • @danielalemu3029
      @danielalemu3029 4 роки тому +350

      When you have professors father at young age who inspires you and teach you, that helps a lot. His father is also professor at MIT.

    • @osmedia7239
      @osmedia7239 4 роки тому +28

      @@danielalemu3029 true

    • @winrx
      @winrx 4 роки тому +63

      Daniel Alemu Having the right genes may also help I think......

    • @ikrakkentm9588
      @ikrakkentm9588 4 роки тому +201

      @@winrx no a lot of people are actually as intelligent and perhaps even more than him. Thing is not everyone had the spark by their enviroment from a young age to get interested in specialising in a specific area. Also in other countries there is no alternative to finish high school earlier and apply to university. Also SAT is easy i can imagine back then it was way easier. Im not saying he isnt smart. Hes definetely above average for sure.

  • @santosht6644
    @santosht6644 6 років тому +2389

    stop scrolling down listen to this guy

  • @sandeepmishra3972
    @sandeepmishra3972 4 роки тому +328

    He is really putting an effort for students....these kind of teachers r very rare to find

  • @lapipesmoker3751
    @lapipesmoker3751 3 роки тому +59

    "This is kind of obvious"
    Me: Leaving the lecture hall with my head down.

  • @Goateduzi
    @Goateduzi 3 роки тому +106

    So apparent why MIT students are industry leaders.... their teachers are amazing. My data structures and algorithms professor was trash at my university, and it is a well respected school.

    • @cmubill
      @cmubill 2 роки тому +4

      Which university you went to?

    • @M4D4F4K4.
      @M4D4F4K4. Рік тому

      @@cmubill prolly outside 100th rank unis

  • @keyyyla
    @keyyyla 3 роки тому +448

    Absolutely fascinating lecture. This guy received his master of science in mathematics at the age of 16.

    • @NicolasPare
      @NicolasPare 3 роки тому +8

      Really? That's impressive.

    • @NazriB
      @NazriB 2 роки тому

      Lies again? DMP DUO

    • @brucesbanner5057
      @brucesbanner5057 2 роки тому

      Another post on this video says 14 yrs of age which one is it 🤔

    • @Sarajboos12
      @Sarajboos12 2 роки тому +2

      @@brucesbanner5057 he was bachelor

    • @rschmidtschmidt6810
      @rschmidtschmidt6810 2 роки тому +17

      @@brucesbanner5057 his Bachelors at 14 and masters at 16. It matches up.

  • @thefreakingmindistaken
    @thefreakingmindistaken 4 роки тому +32

    I watched this guys couple of old lectures quite sometime back and he made me fall in love with dynamic programming. Love this guy.

  • @Tavorath
    @Tavorath 8 років тому +35

    Thank you for caring about the subtitles quality, they made it possible to follow up the whole class.

  • @sergeykholkhunov1888
    @sergeykholkhunov1888 2 роки тому +190

    00:58 dynamic programming (DP)
    05:06 Fibonacci numbers
    11:04 memoized DP algorithm
    23:14 bottom-up DP algorithm
    31:00 shortest paths
    41:14 example

  • @sujaa1000
    @sujaa1000 2 роки тому +70

    I am 55 years old and whenever I watch a lecture from MIT or Stanford, I so wish I could study there! I feel so mesmerized.

    • @thinhnguyenvan7003
      @thinhnguyenvan7003 2 роки тому +3

      Me too, and i am 29. Just graduated at 27 as a Mechatronic Engineerer and now do IT job

  • @Jason_Kang
    @Jason_Kang 8 років тому +805

    I love this guy. I can tell he enjoys teaching.. best trait a lecturer can have :)

    • @penips
      @penips 8 років тому +1

      +Jason Kang nice

    • @fruitjam6529
      @fruitjam6529 8 років тому +2

      +Jason Kang Indeed.

    • @mriegger
      @mriegger 8 років тому +7

      +Jason Kang I know, I was struggling with Dynamic Programming until I saw this series. He's awesome.

    • @TheMasonX23
      @TheMasonX23 7 років тому +11

      Agreed! Erik is an amazing teacher, I love watching his lectures. He manages to make very difficult subjects relatively easy to understand and is very thorough and precise when defining things. And as you pointed out, his obvious love of teaching and the subject matter inspires an eagerness to learn.

    • @adityakulai6419
      @adityakulai6419 6 років тому

      Yes true!

  • @riverofcustard5027
    @riverofcustard5027 2 роки тому +25

    Not only is he knowledgeable but he’s also one of those teachers that makes you really get interested in the lesson

  • @fckdahlloff
    @fckdahlloff 11 років тому +332

    I'm from Perú and following a Software Engineering, although we sometimes may get an overall view of these kind of topics, we tend to stay in the easy zone and never go any further from that. Having access to these many MIT real lectures just makes me so happy because, even if you don't enjoy the best education, you stil have the opportunity to learn more from reliable sources. And for me, that's what the MIT, give opportunities and hope. Thank you so much!

    • @axelmori9284
      @axelmori9284 3 роки тому +6

      Another Peruvian here!

    • @chayannesamaaa7867
      @chayannesamaaa7867 2 роки тому +2

      Now we are three. :)

    • @patrickmcpartland1398
      @patrickmcpartland1398 2 роки тому +9

      Even at MIT this is a graduate level course, you're not taking this in a regular undergrad haha

    • @kartiksangwan3302
      @kartiksangwan3302 2 роки тому

      @@patrickmcpartland1398 What's the difference? 🤔

    • @justinliburd8996
      @justinliburd8996 2 роки тому +3

      @@kartiksangwan3302 How much debt your willing to go into.

  • @nbro5529
    @nbro5529 8 років тому +1192

    Introduction to Dynamic Programming: 00:21
    Fibonacci Numbers: 6:01
    Fibonacci Numbers with Memoisation: 11:11
    Fibonacci Numbers using bottom-up approach: min 23:25
    Shortest paths: 31:05

    • @aashudwivedi
      @aashudwivedi 7 років тому +9

      This is so helpful. Thanks a Ton :)

    • @pikiwiki
      @pikiwiki 6 років тому +1

      thank you

    • @dcmarvel3031
      @dcmarvel3031 6 років тому +10

      The world needs you

    • @dscheme4427
      @dscheme4427 6 років тому +2

      Nice breakdown -- much appreciated

    • @CodersField
      @CodersField 5 років тому +1

      life sever

  • @CodeJeffo
    @CodeJeffo 2 роки тому +66

    I love how Erik is so humble and approachable. It's so great that MIT recognized him so early as a faculty member. This is so important for students and progress in education and research. MIT is really showing the way for other universities how the modern education is meant to be. Erik stay cool and keep improving this wonderful series of lectures. All the best!

  • @pman-codes
    @pman-codes 5 років тому +54

    Thank you guys. I am doing my masters though I couldn't get in MIT, you give me exposure to top class teaching materials.

  • @kkk3252
    @kkk3252 5 років тому +10

    Professor Demaine,
    I really enjoy your confident lectures.

  • @free-palestine000
    @free-palestine000 3 роки тому +12

    i love love love Erik's teaching style. usually, i feel pretty dumb when i don't get a concept when my professor or other youtube videos explain but Erik makes it very.....accessible, and relatable.

  • @JanacMeena
    @JanacMeena 4 роки тому +23

    I've always thought of Dynamic Programming as this big, scary, complicated concept that would take forever to understand. Erik helped me understand it easily.

    • @mearaftadewos8508
      @mearaftadewos8508 2 роки тому +1

      Teachers tend to make the same impressions they had about a course on us when its their turn.

  • @pythonprofreak7522
    @pythonprofreak7522 4 роки тому +6

    I just want to thank you for this video and other related videos from this channel. While working fulltime and schooling at night it is hard sometimes to follow through my classes. However, I managed to earn a MS Computer Science concentration on Network and Security with a big thanks to these videos. Thank you!!

  • @rmpx2gh532
    @rmpx2gh532 2 роки тому +1

    I love how much passion and energy the Prof got

  • @shirish3008
    @shirish3008 Рік тому +2

    Mannn, Sir Erik is so passionate professor I have ever seen. I just love the way he explains🙏🙏🙏

  • @tv..6531
    @tv..6531 3 роки тому +3

    # for
    def fibonacci(n):
    r = [1, 0]
    for i in range(1, n+1):
    a = r[0]
    b = r[1]
    c = a + b
    r[0] = b
    r[1] = c
    return r[1]
    if __name__=="__main__":
    for n in range(1, 101):
    print(n, ": ", fibonacci(n))

  • @aayushshah7193
    @aayushshah7193 6 років тому +5

    Best Algorithm lecture ever seen...Thank You MIT for this Lecture and Eric is one the best lecturer with great teaching skills.

  • @user-lp4kg7iv5i
    @user-lp4kg7iv5i 6 місяців тому

    Amazing lecture from Erik Demaine. It's impressive how easy he explains a topic like dynamic programming and how he can have the attention of the students in the hall. Thank you very much to Erik for his lecture and to MIT for sharing this excellent course!!! I can't wait to see the next DP classes!!!

  • @sixpooltube
    @sixpooltube 7 років тому +8

    My favorite DP lecture yet!

  • @JayShankarpure
    @JayShankarpure Рік тому +5

    Really a great video 🙌
    Have fallen in love with recursion and DP with this video , Great work Erik Sir 👏

  • @justinwmusic
    @justinwmusic 4 роки тому +44

    26:10 "So is this clear what this is doing? I think so."
    [Then corrects the 2nd, 3rd, 4th and 5th typos that prevented comprehension. :) ]

  • @siddharthdyavanapalli4617
    @siddharthdyavanapalli4617 4 роки тому +1

    What a guy he is!!! Just to say been through a lot of mit stuff but he really is matching the skills of all other professors in that place

  • @lx4302
    @lx4302 4 роки тому +38

    My goal: binge watch mit course playlist for the whole day :)

  • @misteralagiz4003
    @misteralagiz4003 8 років тому +146

    that's genius, Erik has got some great teaching skillz, man

    • @TheMasonX23
      @TheMasonX23 7 років тому +12

      artem alagizov He's amazing! He's the youngest professor in MIT history, and earned his PhD when he only 20...

    • @jn3750
      @jn3750 6 років тому

      Former child prodigy!

  • @c.j.dylanxu153
    @c.j.dylanxu153 8 років тому +253

    the best algorithm lecture i have ever seen! I prefer this "old-style" lecture using blackboard and chalks so much without any bullshit slides and whiteboards

  • @hana-ci6ss
    @hana-ci6ss 2 місяці тому

    I've been watching many video professor teaching in UA-cam....Professor Erik Demaine definitely the best one that I've ever saw...His teaching style really on top.

  • @mindsauce3
    @mindsauce3 5 років тому +1400

    You kept on scrolling anyway, didn't you? ;)

  • @ChrisLeeX
    @ChrisLeeX 8 років тому +19

    @26:36: "Man, so many typos" - How I feel whenever I'm coding up on the board.

  • @rakeshjoshi2306
    @rakeshjoshi2306 8 років тому +14

    this guy is awesome . very clear explaination..

  • @meditating010
    @meditating010 11 років тому +2

    Eriks lectures are awesome... pretty decent walkthrough of dynamic programming.

  • @katkong281
    @katkong281 2 роки тому +17

    If this guy was my professor I might have not dropped out! We need ppl like him thank you for sharing this

    • @cluckhead1913
      @cluckhead1913 Рік тому +2

      Turn on, tune in, and drop out! There is so much more to life than sitting in a room listening to someone drone on about nothing. Be your own man!

    • @coronaweeks4577
      @coronaweeks4577 Рік тому

      @@cluckhead1913 maybe so but his passion is infectious…I wish I had a real passion for something instead of slogging through life

  • @espritgaronne9975
    @espritgaronne9975 5 років тому +4

    Great teaching! I had an algorithmic challenge this year, the solution was dynamic programming.

  • @MahdiZouch
    @MahdiZouch 7 років тому +56

    I really love how they teach, everything becomes interesting..., i wish i could study full time there :D

    • @MahdiZouch
      @MahdiZouch 7 років тому +1

      ha ha same here

    • @TheMasonX23
      @TheMasonX23 7 років тому +5

      Mahdi Zouch A large part of what makes them the best institution (in my opinion, at least one of the best though) is the quality of their instructors. And yes, I too would love to attend MIT if/when I make enough money, but at least until then they've got a lot of their courses available :)

    • @deepakmeena3874
      @deepakmeena3874 6 років тому +3

      yeah IIT bombay has great quality of students but quality of teaching method is very poor that's why they are so low in rankings

    • @saipanda893
      @saipanda893 6 років тому

      Deepak Meena yeah bro.

  • @carolinewilhelm7672
    @carolinewilhelm7672 5 років тому +1

    Great lecture! Thank you for making this topic accessible - in all senses of the word

  • @kmishy
    @kmishy 3 роки тому +2

    After following 2-3 lectures of him, He became my favorite prof

  • @socrat33z
    @socrat33z 11 років тому +14

    Thank you sooooo much! A lot easier than learning from the economic side.

  • @deadpiece111
    @deadpiece111 10 років тому +404

    This dude got his PHD in 20.. How awesome is that.. O.O

    • @RetroGenetic
      @RetroGenetic 10 років тому +26

      And the way he presents everything is just amazing, there's many gaps in my knowledge on these topics but the way he explains helps me to either fill the gaps or at least know where to look for answers.

    • @tyrisnolam
      @tyrisnolam 10 років тому +128

      I'm 26 and didn't even finish my undergrad course yet. And I don't give a fuck. Not every universities and colleges are as awesome as the MIT or Caltech (etc). I'm from Hungary. I feel no drive to finish it. What you see here, this lecture, is quite the opposite of the way they teach us in Hungary. There are a very few good teachers here (but they, the good ones are really just great and I respect them), the majority just make us hate what we supposed to be enthusiastic about. Who cares, I just open my laptop and BOOM, I'm an MIT student, I can learn valuable stuff and I enjoy this difficult work with algorithms (or whatever) again. Maybe I'll finish my UG course, maybe I'll just quit and start making something amazing. Having a degree is good but if you can't do it, don't push it. There are many ways to be successful in what you like to do. If you can't finish, then college was just a bad guess and you should try another path to V (see what I did here?)

    • @jeanpaulnavier6726
      @jeanpaulnavier6726 9 років тому +8

      ranalynamic come on man, i understand the fact that some prof aren't the greatest ones(here in italy too,same faculty) but i think it's a student problem too, isn't it?!

    • @kdub1242
      @kdub1242 9 років тому +9

      ranalynamic I always thought Hungary was the land of geniuses. You've had John von Neumann, Eugene Wigner, Leo Szilard, Theodore von Karman, and on and on. These guys are my scientific heroes.

    • @tyrisnolam
      @tyrisnolam 9 років тому +5

      Keith Wald It used to be better, I guess... These days it's a shame. I feel embarrassed. Or maybe it wasn't that different at all. Today, a talented student who is actually lucky enough to get the hell out of here, probably will still do a great job pretty much anywhere where she/he is going. But not here.
      Yes, many of them are of Hungarian origins (and by the way, Jewish also). On the other hand, if you read their whole story, almost none of them achieved anything here. This is what Hungary is really good at: putting talents in an impossible situation and make them go the fuck away :)
      Anyway. I'm glad you know about these people. :)

  • @mpataki
    @mpataki 3 роки тому +1

    at 47:06 Eric mentions, we need to make the graph acyclic,
    we don't need to make the graph acyclic, we can mark the vertex which is being computed (which is in the call stack) as present in an infinite distance and use it's TAB[v]

  • @dackerman123
    @dackerman123 Рік тому +1

    This man is absolutely brilliant. Perhaps too brilliant for anyone in the lecture hall to understand, and certainly for me.

  • @victorrice4549
    @victorrice4549 10 років тому +16

    Very great lecture, super helpful. Thank you MIT.

    • @arsh99119
      @arsh99119 Рік тому

      thearshblog.blogspot.com/2022/09/beating-youtube-algorithm.html
      how to beat UA-cam Algorithm 👆

  • @JuiceGuy07
    @JuiceGuy07 3 роки тому +16

    Is it weird that I have absolutely no idea what this class teaches, nor can I understand what it is trying to teach, yet I can't stop watching the lectures?

    • @JuiceGuy07
      @JuiceGuy07 3 роки тому

      @Aarni lol, you could be wasting time on worse things I suppose. Hit your teacher with the old "I wanted to write my essay last night, but I just got way too caught up learning advanced algorithms. Time just got away from me."

    • @anjanvyas5820
      @anjanvyas5820 3 роки тому +4

      hahahah im doing the same thing. Started with a video where Jelani Nelson was teaching Linear Data Structures
      I have no idea how it works and how it helps but it's oddly satisfying xD

    • @AimForMyHead81
      @AimForMyHead81 2 роки тому

      @@anjanvyas5820 For me, it's Asmr

  • @user-jc4lt1vk2g
    @user-jc4lt1vk2g 6 років тому

    0:00~31:00 DP 설명.
    - 벨만 포드 알고리즘 만든 벨만이 다이나믹 프로그래밍이라는 이름을 창시했다. 벨만이 다이나믹 프로그래밍이라고 이름 지은 이유는 별 뜻 없고 '그냥 멋있어 보여서'다.
    - 하나의 문제를 완전탐색으로 재귀적으로 풀 때 그 문제의 부분문제(Subproblems)의 답을 재활용하는 기법이 메모아이제이션(Memoization)이다. 재귀로 문제를 풀면 exponential 시간이 소요되는데, 한 번 풀었던 문제의 답을 메모로 적어 놓고 다시 필요할 때 반환함으로써 그 문제 풀이는 O(1) 시간밖에 걸리지 않는다.
    - DP에는 재귀적인 구현인 하향식 접근(Top-down approach) 외에도 반복문을 이용한 상향식 접근(Bottom-up approach) 방법이 있다. 상향식은 함수 호출을 적게 하니까 스택을 적게 먹는 장점이 있겠지.
    - 시간복잡도: 부분 문제의 갯수 * 부분 문제를 푸는 데에 걸리는 시간(메모 해 놔서 재귀 안 걸리는 데는 O(1)임)
    ----------
    31:00 이후 최단 경로 설명.
    - 오랫동안 잊고 있었던 그래프 이론이 등장함.
    /
    - 정점(vertex, node), 간선(edge, link, line)
    - 차수(degree): 어떤 정점의 간선의 수.
    /
    - DAG (Directed Acyclic Graph): 비순환 유향(방향) 그래프
    - 내차수(indegree): 방향 그래프에서 어떤 정점으로 들어오는 간선(incoming edge)의 수.
    - 외차수(outdegree): 방향 그래프에서 어떤 정점에서 나가는 간선(outgoing edge)의 수.
    - 위상 정렬(Topological sorting): 선수과목 구조처럼 보이게 DAG을 왼쪽에서 오른쪽으로 한 방향으로 죽 늘어 놓는 것.
    - 출발점에서 나가는 간선을 기준으로 부분문제를 만들 수도 있고 목적지로 들어오는 간선을 기준으로 부분문제를 만들 수도 있음
    - 사이클이 있는 그래프에서 시간복잡도는 무한대임.
    - DAG의 경우 시간복잡도: O(V+E)
    - DP 쓰려면 부분 문제는 비순환이어야 한다.

  • @KimMorgan-hc3rk
    @KimMorgan-hc3rk 7 місяців тому

    Don't know much about Dynamic Programming but do note the professor's unique and rather attractive chalkboard writing! And being a dapper hand myself at it, I salute you Prof!

  • @eddiesneeh4266
    @eddiesneeh4266 9 років тому +13

    This instructor ROCKS!

  • @geekoist
    @geekoist 10 років тому +9

    The last remark that the algorithm can be modified to compute weights of shortest paths in graphs (possibly with cycles) was rushed a little bit. Can someone explain it in better terms? Thanks :)

  • @AleksandarIvanovicTV
    @AleksandarIvanovicTV 3 роки тому +1

    Absolutely love this guy, what a great lecturer

  • @vijayalagappan6119
    @vijayalagappan6119 3 роки тому

    Lovely course! Awesome Profs.. I came here looking for help in trying to solve DP problems.. got glued to this video and the other videos in the course.. heard of the Double Rainbow for the first time and googled for it.. came to know about the Double Rainbow guy.. and read that he became one with the rainbow ... in the times of this pandemic.. strange how times fly by! ...and how time flies by!

  • @karannchew2534
    @karannchew2534 4 роки тому +4

    Love the giant eraser. Must be quite satisfiying using it.

  • @zeronothinghere9334
    @zeronothinghere9334 3 роки тому +8

    Dynamic Programming AKA "Careful Brute Force" XDD I lost it. Sooo accurate

  • @hiddenblade999
    @hiddenblade999 7 років тому +1

    Best lecture on the subject i've seen on youtube

  • @haneulkim4902
    @haneulkim4902 4 роки тому +1

    Amazing lecture, Erik can really explain. Thanks!

  • @mariotaz
    @mariotaz 8 років тому +3

    Great lecture!

  • @sandipanaich
    @sandipanaich 3 роки тому +4

    23:22, hey... even I like the recursion based top-down approach over bottom up.
    Btw, very good teacher.

  • @denisthamrin3449
    @denisthamrin3449 8 років тому

    I gotta say, this video series helps me to understand how to solve DP problem easily.
    For people trying to learn how to solve DP , what I recommend to do is to just watch all the series to understand the pattern (observe) then try to solve some other problems on internet (practise).

  • @platzhersch
    @platzhersch 9 років тому +2

    geniously simply explained! thank you! helped me a lot!

  • @rizanamatya9191
    @rizanamatya9191 6 років тому +25

    Algorithms Professor wearing a Bob Dylan T-shirt! Awesome!

  • @ji3g4j6jo3p
    @ji3g4j6jo3p 5 років тому +6

    I wish my prof taught my algo class was this excited about any of the algos, instead of sitting there hating life

  • @srinivastadinada3571
    @srinivastadinada3571 6 років тому +1

    Best tutorial on Dynamic programming I have ever seen :)

  • @dr.strangelove9815
    @dr.strangelove9815 2 роки тому

    What an excellent explanation and professor. Very well done!

  • @prashantsingh1096
    @prashantsingh1096 5 років тому +8

    I wish I could have Professor like him in my bachelor's and master's .

  • @christoskettenis880
    @christoskettenis880 6 років тому +4

    I love those boards and chalk!

  • @ScoobieSwisher7413
    @ScoobieSwisher7413 2 роки тому

    I am amazed just at his writing on the board at the very beginning .

  • @thiagoaugustomartins3482
    @thiagoaugustomartins3482 7 років тому +2

    Great class ! Thanks for uploading that.

  • @alimustafa2682
    @alimustafa2682 6 років тому +443

    I would like to eat these chalk

    • @rj-nj3uk
      @rj-nj3uk 5 років тому +7

      Good luck.

    • @rafatashraf3669
      @rafatashraf3669 5 років тому +5

      So was my feeling . Great teachers can instill such feelings ,,........

    • @msid9870
      @msid9870 4 роки тому +5

      Those are a special type of chalk. I think they are Japanese ones

    • @taurusdev7965
      @taurusdev7965 4 роки тому +3

      @@msid9870 indeed, they're imported from Japan

    • @Nami-wo9db
      @Nami-wo9db 3 роки тому

      Right? So velvety smooth..

  • @DeivitMV
    @DeivitMV 6 років тому +36

    Extra credit for the Bob Dylan T-shirt! :D

    • @scemat
      @scemat 4 роки тому

      Warmed my heart when I noticed it!

  • @jainamkhakhra3898
    @jainamkhakhra3898 6 років тому +1

    I absolutely love that chalk... Kind of gets you interested in the topic...

  • @RahulRoy-tc3lt
    @RahulRoy-tc3lt Рік тому +1

    That is the most computer-dude looking guy ive ever seen, very apt.

  • @JackLe1127
    @JackLe1127 8 років тому +237

    This video makes me wanna apply for MIT

    • @darogajee3286
      @darogajee3286 7 років тому +36

      just collect enough millions..

    • @DarkLordAli95
      @DarkLordAli95 7 років тому +22

      and very exceptional grades.

    • @BrajeshKumar-ez8zs
      @BrajeshKumar-ez8zs 7 років тому +12

      Jack Le you can... But you will be kicked out

    • @mlst3rg
      @mlst3rg 7 років тому +73

      just write #blacklivesmatter on your application

    • @lambda494
      @lambda494 6 років тому +21

      I went there (Course 8, 2012). Trust me, getting in is the easy part. All the top students at their high schools become more or less average there. You learn a ton but it will wring the life out of you too if you aren't careful. You may spare yourself and just enjoy OCW!

  • @user-sd7hh8ek1c
    @user-sd7hh8ek1c 5 років тому +13

    Dynamic programming the my favrourite thing in the world...
    in algorithms.

  • @jaykay7932
    @jaykay7932 2 роки тому +2

    recursive functions alone is a concept which takes some adjusting too. In over 14 years of writing code in manufacturing i've yet to find a place for them. I get its for a situation where you'd want the end result without printing the path to the result on screen (ie a loop) but ive never really needed it in my line. I can imagine it with 3d graphics though

  • @SrSKaTiZSrS
    @SrSKaTiZSrS 2 роки тому +2

    I felt like this was a great way to explain dynamic programming. My course work on it in college was fine enough for me to understand it but this is a much easier better way to explain it to learn from.

  • @NitRoGenSmile
    @NitRoGenSmile 9 років тому +7

    shortest paths 31:00

  • @elias8294
    @elias8294 4 роки тому +18

    I love that he writes all of his code in python

    • @adityamhatre4684
      @adityamhatre4684 3 роки тому +1

      Because Python Code is Closest to Pseudo Codes

  • @johnnyisleet
    @johnnyisleet 11 років тому +1

    This refers to Python dictionaries which are amortized O(1) lookup time. As are most programming languages implementation of a key value store ie. Map, Hashtable, Associative Arrays, etc.

  • @paulthomann5544
    @paulthomann5544 11 років тому

    If we assume that the fibonacci calculator function will be called many times for different numbers in essentially random order, the 'top-down' memoized version has an advantage:
    When called repeatedly with the same n, it takes linear time the first time, but constant time afterwards (if the dictionary persists between calls).
    In the bottom-up version, changes are required to achieve the same:
    if n

  • @anniekelly3698
    @anniekelly3698 9 років тому +15

    way better than my current algorithms professor...thanks!

  • @astralchemistry8732
    @astralchemistry8732 3 роки тому +3

    34:49 The moment you stumble upon life-advice in part 19 of the programming lecture you've been watching.

  • @brooklyna007
    @brooklyna007 4 роки тому

    This teacher is amazing!! I loved it!

  • @AaAaAaA-mm7cc
    @AaAaAaA-mm7cc 2 роки тому +1

    Just leaving this here for someone to remind me in a couple of years, I regretted majoring in information systems instead of CS, and I cannot change my degree, but I will work hard and learn most of the needed stuff online in order to be able to learn more cs stuff on top of finishing my degree and getting a nice job that i enjoy in the future, through hard work and determination!

  • @EgbertWilliams
    @EgbertWilliams 9 років тому +236

    Two questions:
    1) How does yellow chalk write in white?
    2) What do all those squiggles he wrote mean?

    • @mitocw
      @mitocw  9 років тому +197

      ***** 1)The chalk is only yellow on the outside.
      2)Topological sorts. (We presume you don't mean the math.) This link on Wikipedia might help: en.wikipedia.org/wiki/Topological_sorting

    • @EgbertWilliams
      @EgbertWilliams 9 років тому +90

      Good God, MIT himself answered. Hi, MIT! And, yes, I meant the math. Don't presume or you'll make a pres out of you and me.

    • @prodev7401
      @prodev7401 9 років тому +1

      this is shortest path or bellman ford ... ?

    • @bobbybob4939
      @bobbybob4939 9 років тому +2

      Pro Dev ILL BELLMAN FORD YOUR NAN

    • @prodev7401
      @prodev7401 9 років тому

      ???

  • @ludvikjerabek
    @ludvikjerabek 3 роки тому +4

    This guy is a fantastic teacher with great humor.

  • @tonyjames1980
    @tonyjames1980 5 років тому

    Wonderful lecture, Thanks for explaining the term.

  • @suranaajit123456
    @suranaajit123456 3 роки тому

    Awesome! Thanks Eric & MIT for the great content

  • @thecodingjournal4726
    @thecodingjournal4726 3 роки тому +3

    When I came to know about the name story of DP, I was also very excited.
    If anyone has done the course algorithmic toolbox, you might also be knowing this story!

  • @imalive404
    @imalive404 6 років тому +74

    Just read about him. He is a child prodigy and has a set record of joining MIT as youngest professor at the age of 20!!!!!!!!! Like what!!!!!!!!!!!!!!

    • @isoccerpluse
      @isoccerpluse 5 років тому

      Wtf

    • @reckz420
      @reckz420 5 років тому

      At 20?? you sure?

    • @Alonesmither
      @Alonesmither 5 років тому

      Yes at 20! Just read my self.

    • @reckz420
      @reckz420 5 років тому +4

      @@Alonesmither was he born high school graduate already?

  • @martinp.2537
    @martinp.2537 5 років тому

    What a great person. He is making a very complicated topic at least a bit understandable for me :)

  • @weignerg
    @weignerg 2 роки тому +2

    27:00 Bottom up can be optimized further by hard coding the first two results manually the itterate without a conditional and saving the result right away.
    When done looping, return the last result.

    • @weignerg
      @weignerg 2 роки тому +1

      int n = 100;
      Map fib = new HashMap();
      int i;
      for(i= -1; i

    • @weignerg
      @weignerg 2 роки тому +1

      30:00
      import java.math.BigInteger;
      public class FibonacciExample{
      public static void main(String args[]){
      int fibSequenceNum = 107;
      int n = fibSequenceNum/2;
      BigInteger[] fib = {BigInteger.valueOf(0),BigInteger.valueOf(1)};
      for(int i = 0; i < n; i++) {
      fib[0] = fib[0].add(fib[1]);
      fib[1] = fib[0].add(fib[1]);
      }
      System.out.println(fib[fibSequenceNum%2]);
      }}

    • @eddychoo7820
      @eddychoo7820 Рік тому

      @@weignerg 8ulk777uuu6

  • @Paco1337
    @Paco1337 4 роки тому +5

    I'm looking at this now,same as I was looking at math class when I was a kid

  • @RobertLugg
    @RobertLugg 4 роки тому +7

    Good talk. My sharpest criticism: I’ll bet he goes though a lot of chalk pressing as hard as he does.

  • @jakethewoz
    @jakethewoz 4 роки тому +1

    Love this guy's handwriting.

  • @GeoRevilo
    @GeoRevilo 11 років тому

    the camera work is really good on this