Pathfinding Visualizer Tutorial (software engineering project)

Поділитися
Вставка
  • Опубліковано 11 вер 2024

КОМЕНТАРІ • 582

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

    I didn’t have time to add a magic trick at the beginning of this video, but don’t worry-my charming personality and Pathfinding skills will make up for it.
    Here are timestamps and useful links for the tutorial:
    0:00 - Introduction
    1:02 - How this tutorial is done (i.e., what tools we're using)
    2:18 - The scope of this tutorial (i.e., what we're building exactly)
    4:27 - The challenge of this tutorial
    5:21 - *Very* important information
    6:08 - *Tutorial*
    47:08 - Summary of tutorial
    54:04 - Conclusion
    This tutorial's GitHub repo: github.com/clementmihailescu/Pathfinding-Visualizer-Tutorial
    Original Pathfinding Visualizer's GitHub repo: github.com/clementmihailescu/Pathfinding-Visualizer
    Video where I talk about my software engineering projects, including the original Pathfinding Visualizer: ua-cam.com/video/n4t_-NjY_Sg/v-deo.html

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

      Ever since I saw your first video, I haven't missed one video since that day.

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

      Can you teach us machine learning so we can make ai learn to play minecraft

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

      Hi Clement..do you have any idea how we can do this for office floor map (.pdf)? i was thinking we have to recreate the entire floor map in html and do the path pathfinding. what do you think?

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

      Hello, Clement, thank you for taking the time to make this video! I was wondering if you could share the name of the IDE you're using. Pretty pretty please!

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

      @@YeslynCasasola Its visual studio. :)

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

    I've never seen a developer do a video like this where the focus is on thought process and refinement rather than step-by-step implementation on a granular level. Feels like I learned more from this. I love this approach, thank you so much for the time and effort you put into this channel!

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

      Yeah i was going to say it wasnt what i expected when i saw tutorial in the title. But seeing an actual devs mindset to overcoming portions of the project ended up being extremely insightful.

  • @sakfa1
    @sakfa1 4 роки тому +34

    I think the biggest lesson from this tutorial, one that should be especially important for junior devs with impostor syndrom is: look, even experienced, world-class developer needed 6 hours to develop merely a prototype of a small project and that's when copy-pasting half of stuff from ready product! It would easily take 100 hours to implement the remaining features from scratch (other algorithms, top menu, block the UI when animating, optimize a bit, add weights, make everything pretty, etc.). There's no escape from hard work and most of jaw-dropping projects you see on the Internet come just from that. Also: appearance matters A LOT. Do not skip UI/UX for any projects if you intend to use them in your resume/portfolio. I.e. in this one 10 hours spent on nice UI paid off way more than implementing 3 extra algorithms could ever do.

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

    “I’m so bad at CSS. I can never remember how to put shit next to each other.”
    Me every other day. ✌️

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

      😂

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

      @@clem this was me before CSS flexbox got to the scene

    • @dharmang
      @dharmang 4 роки тому +9

      @@dev__adi and i learned css grids which are even better than flexbox

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

      @@dharmang neither one is better, it depends purily on the situation

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

      @@dev__adi Grid Layout be like : hold my beer.

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

    As someone that's just now starting out in the field, this is mind boggling. I literally can not comprehend how he managed to do all of this from scratch the first time. Seriously. What the hell.

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

      Rome wasn't built in a day. You tackle problem by problem, suddenly you have a whole app.

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

    I thought the video was pretty good. It is good to show that even an ex-Google engineer struggles with CSS and stuff. Good shit, mate.

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

      Saw a cheeky quote the other day
      "HTML, where you can do it wrong but get it right, CSS, where you do it right but it comes out wrong"
      It does kinda seem, and is nice to know, unless you're specifically a CSS specialist, you tend to grumble at the procedure. lol

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

      Ethan Davidson All non-wizard engineers do!

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

      @@greenie62 JS, where you can do it right and wrong at the same time. #JSchrodingersCode

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

    I think this project is the only demo project I remember clearly and have come back to for fun multiple times. Makes me jealous as a backend engineer as not quite as many options to make a terminal maze solver that looks so slick.
    Best maze page UI I've come across. Well done.

    • @dumbdavinchi3638
      @dumbdavinchi3638 5 місяців тому

      You can always start small, the most annoying part of frontend is probably css but there are plenty of Ui libraries to simplify that, If you have decent understanding of http and fetch requests than learning frontend shouldn't take more then a few months

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

    The fact that you built this with only 3 months of experience is absurd

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

      Actually I do not know what do you mean by saying "absurd"? Does it good or bad?. But it seems that you got a big love reaction. So it's so good 😁

    • @ajricherson1099
      @ajricherson1099 4 роки тому +47

      @@bakrianoo obviously it's good man

    • @BUZZYBG
      @BUZZYBG 4 роки тому +48

      Impossible in 3 months with 0 programming knowledge, let's just face it

    • @winnerwinnerporkbellydinner
      @winnerwinnerporkbellydinner 4 роки тому +33

      To be fair, he does have a maths background. But still, it is incredible

    • @yaumingchang5360
      @yaumingchang5360 4 роки тому +8

      Wait what do you mean by only 3 months of experience. Surely he has been programming for more than 3 months lol

  • @Sapphiamur
    @Sapphiamur 4 роки тому +39

    Thank you so much, Clement!!! Exactly what I needed to learn to start visualizing things like algos/sorts :)).

  • @atilacorreia
    @atilacorreia 3 роки тому +13

    Nice project. The extension of it is to make it with multiple agents trying to find the shortest path. You can increase the grid size, multithread the agents, time slice them, etc. You definitely gonna need that MinHeap optimization you mentioned.

  • @shreyaspadhye7337
    @shreyaspadhye7337 4 роки тому +9

    This was great! I really admire how Clement doesn't edit / hide his mistakes. That's why he's more relatable. Also, it gives you an idea how to tackle problems while coding. Like when he reads the Dijkstras algorithm on Wikipedia and codes it himself rather than figuring it out from existing code because that's a pain! Ps: Always keep your code well documented

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

    I just started to learn Javascript and start to learn algorithms in Python. And I want to study vanilla JavaScript first, and you have the original repo.. My man you are awesome !!!

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

    @Clèment Mihailescu, you are the reason I went to coding bootcamp and now I can't wait to try and build my own pathfinding application with your help. You are the man!

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

    I love the transparency of this video. Clément banging his head against a wall trying to figure out his old code and fix bugs was hilarious.

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

    I don't usually comment on yt, but man u deserved this comment, like, and a sub for posting this!!! Much appreciation from Serbia/ Novi Sad !!

  • @rushilpunya2552
    @rushilpunya2552 3 роки тому +23

    Everyone applying to a CS job is gonna have pathfinding visualizer on their resume because of this video

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

    As a Junior Software Developer this video helped me with my IMPOSTOR SYNDROME! Thanks Clement!

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

    Sir
    I made this using the Unfolding Maps library for Java and it was really fun, and I recently got hired as a Software Engineer at UnitedHealth Group, and they asked about this project in detail, I always knew the algorithms from Cormen but visualization was a new challenge.
    Thanks

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

    This is an incredible tutorial! Definitely will use this with my students to help them visualise better Dijkstra's Algorithm.

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

    Good to see the project built from scratch. You are so real !! You make me feel it is common even for a google engineer to forget things ...Great stuff !! Thank you

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

    Hi, clement! Vishnu from India. I've started filling up my head with react for 20 days from now, to make myself land in a good company as a react js developer. All through these days I realized that react is freaking amazing to work with, and I finally found something awesome that I can pursue my career in. Just downloaded the GitHub repo code that you have attached to your description. Will look into it and learn the syntax and all the methods that you've used for that App of yours. Thank you very much !!!!! for providing the code. I watch all of your videos and will be like DAMN!!! SOOO INFORMATIVE AND INTERESTINGGG. Thank you once again for guiding all of us absolutely for free. Love from INDIA. peace!. We always pray for your constant SUCESS.

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

    This was really interesting to watch! Personally I like this style. It's brave of you to acknowledge you don't know something. It's an important path to success.

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

    I actually really liked this project and wanted to start doing more visuals on my own projects. It's really cool that you did this because I was picking apart your deployment build and it was hell.

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

    Impressed by your pathfinding visualizer on my first glance (after seeing Google Resume Video). So I too made up my mind to create such a one, but instead in web I started developing as a Java application. UI done right, but I didn't started coding the algorithm part, don't know how to start implementing the algorithm, you again helped me with this video. Thanks a lot man.💪 You keep inspiring me🎉

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

      Can I ask how you did the UI on Java? Did you implement libraries for the visuals? Sorry I'm somewhat new to this so I don't know.

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

      @@anonofDeath I created using Java swing and Jframe. You can google it by searching Java swing, it is used to create window based applications.

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

      @@sathvikrijo ok thank you!

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

    Clem, you are an amazing person. giving all this knowledge to random people is a wonderful act of humility. I really hope you find a way to keep accomplishing all your dreams.
    shoutout from Porto Alegre, south of Brazil (hoping to be accepted on AppAcademy soon!)

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

      Rodrigo Mallmann Thank you for the kind words, Rodrigo, and best of luck with App Academy!

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

    My mans is a hard worker, keeps me motivated to do this last push senior year in computer engineering. Studying for the interview the last month and looking to add unique things to my resume so I'm not unemployed come graduating at the end of Spring. Thanks!

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

    Tryna land the internship and I wanted to give this project a try, thank you for this video

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

      Did it work? How long did you take to make it and master the syntax? I have an interview too, I am so tensed!

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

    Eventhough JS is not my favorite programming language, I think this video is one of the best videos this guy has ever posted to this channel. It is really amazing

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

    Good idea to speed up through the coding and explain a few things as you go along. For instance, when you try to implement the algorithm (sped up). Then, after you figure it out, explain what you tried and what you ended up doing. Very well done!

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

    Hey thank you for the video great help! For those who are on Mac and trying to figure out how to open the terminal. I used 'command + space bar' to open terminal. I copied and pasted the 'npx create-react-app my-app' first then hit 'enter' (or return). I let it wait to load. They ask if you want to proceed with yes as in '(y)'. After that, hit 'enter' again and wait a little. So now, after it loads you then copy + paste 'cd my-app' into terminal then after repeat step using 'npm start'. When you finish they will tell you that it is complete but you need to have a development space. I use 'Brackets' which is for HTML and CSS, then after that proceed to the IDE to start editing. Goodluck guys just thought I could help with anyone struggling because I was confused from the jump lol

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

      * you can use visual studio code if this works better for you than Brackets

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

    Wouldn't call this a tutorial, but it's cool seeing the process nonetheless.

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

      Yeah, I realize this ended up being a little bit more of a rebuilding-the-pathfinding-visualizer kind of thing, but I think that it turned out being more entertaining than a pure tutorial, all the while still giving you what you need to build it yourself, especially with the link to the tutorial's GitHub repo.

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

      He just copy pasted his old code and made it worse, this ain't a tutorial at all 🤦

    • @BigKing17
      @BigKing17 4 роки тому +35

      @@YoloMonstaaa You make it seem like 99.9% of programmers don't recycle bits of code for some point or the other.

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

      +r viens - It's great just hearing the thought process sometimes. I have a pathfinding visualizer tutorial series which is more detailed though.

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

      I'd say that this video is even better than a tutorial. It shows what software development is really like.

  • @ivanlorenzo04
    @ivanlorenzo04 4 роки тому +54

    17:40 yepp that's me in this entire project

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

    This video makes it clear that even ex-googlers write really bad code at first. And that is FINE! That feeling is so empowering.

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

    Dude ,can't thank you enough for these videos and also please make another video on APIs, server architecture of your Algoexpert. Yeah you will be remembered for what you are doing. Take a bow.

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

    i learn so much everytime i watch any of your videos man. god bless, hope you do well!

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

    this was actually a really good video. seeing you go through this process and even look back on ur own code on how u would improve it was super personable

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

    Will certainly save this for follow along later, really love that you show your thought process!

  • @AlonsoG-dl7sj
    @AlonsoG-dl7sj Рік тому

    Hi Clement was very funny when you realize that you code works ([29:09])! Thank you for all your content, is really amazing to have people like you to learn more

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

    I love all the effort you put on your videos. Thank you very much Clément

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

    For fresher's / new graduates it's quite insightful and resourceful.

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

    I didn't start the video already, but im commenting because Im sure that will be amazing, keep the good work!

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

    Hello How do i start the programm
    If i do cd My-App and then npm start in cmd
    the port on chrome starts
    but the tool does not open

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

    *Clément Mihailescu deserves millions of subscribers*

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

    Probably the most real tutorial I've seen in UA-cam

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

    Thank you for the time you spent in making this video, your projects inspired me to keep up with my selfstudy in software engineer.

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

    This is a super great project. After this i will try to build it again on my own, Great work sir.

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

    0:45 Just few seconds in the very first video I'm watching of yours and you are undoubtedly the cooooooooooooooooooooooolest youtuber ! My word for it

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

    This is exactly the kind of tutorial I was looking for tonight! Thank you :)

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

    Thanks for the content Clément, your videos are absolutely amazing!

  • @Adam-cn5ib
    @Adam-cn5ib 5 років тому +1

    so nice of u to put an hour of your day to us plebs :3

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

    Just one word
    *AMAZING!*
    I watched the entire video you are a real genius!

  • @AJSquirrel53
    @AJSquirrel53 3 роки тому +9

    This is so hard to follow along. Why is so much stuff done in a timelapse or off camera? I know the files are on github, but those are the finished products, which don't do much for people trying to follow along and learn.

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

    Awesome! One caveat: I won't watch it because I want to try this before seeing your solution... Will try to use Python + a visualization tool... Thanks for the great ideas and the inspiration!

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

      what visualization tool can I use to try it with Python?

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

      How can it be done in Python? Can you please elaborate brother?

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

      @@avinashmishra7735 i'm learning django right now, maybe you can do it using django? But I mean I literally just started django.

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

      I'm pretty sure that this is doable with Pygame (and it will probably be my pick)...

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

      @@ProgramadorSagaz Can you help me building it in Pygame? I'm excited to build it in Pygame

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

    Thanks for making so much efforts, really wanted this video to come up. This video gives us the structure and procedure about how to approach the project BUT this is not a tutorial. At the beginning I thought I would finally have a impressive project but I couldn't get much of the code maybe because I'm new to React. I've a long way to go.
    Thanks anyways.

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

      Thanks for the feedback; I understand what you mean. I’d encourage you to fork the GitHub repo for this project (the one I did in this video) and to start playing around with the code little by little. Try changing the animations. Try adding functionality for weights (with similar code as the one for adding walls-if you encounter a weight when updating neighbors in Dijkstra’s algorithm, give it a distance of x + 10). Try looking up the A* Search algorithm and adding it to the project. You’d be surprised how much you’ll learn and how much you’ll be able to do by just copy-pasting code around and testing things.
      And you might just be able to add the project to your resume!

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

      @@clem
      I've been doing exactly as you said, I downloaded the repo and trying to replicate the bare minimum. It's been kinda challenging but that's where the growth is. Your work has really inspired me a lot.
      Thank you for the reply and sorry I'm seeing this so late.

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

    thanks for this it was an awesome vid I think it would also be cool to see you go line by line through a project that you have already built rebuilding it in a more full tutorial format so it is easy for everyone to follow every line

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

    Excellent vid! I think I'm going to pull the trigger on the algo expert course. :D

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

    I know python only is it possible to do this with Django

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

    Great tuto on a great subject, thumbs up mate that's heavily motivating!!

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

    @40:57
    clement:"when the people demand ,I provide"
    Everyboody liked the video.

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

    Great vid! Currently trying to replicate. I think one way (still unconfirmed) to fix the re-rendering issue with setState is by separating the nodes ui state into a hashmap instead of keeping it all in a 2d array. You would have a 2d array of all the ids (generated from col / row indexs) in order to build the grid, and then derive the state of each node by doing a lookup in the "nodeState" hashmap. This way when you update state, you're not resetting the entire grid on each setState call, you would just update the entry in the hashmap. React *should* then be able to efficiently update only the necessary dom nodes when you update the state.
    Simple untested example:
    ```
    const grid = [ [ "0:0" , "0:1], [ "1: 0", "1:1"] ]
    const nodeState = {
    "0:0": { isAnimating: false, ... },
    "0:1": { isAnimating: false, ... },
    "1:0": { isAnimating: false, ... },
    "1:1": { isAnimating: false, ... },
    }
    const [nodes, setNodes] = useState(nodeState);
    const updateNode = (id) => {
    setNodes((nodes) => ({
    ...nodes,
    [id]: {
    ...nodes[id],
    isAnimating: true,
    }
    }))
    }
    ```

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

    Fantastic video , looking forward for more exciting and informative videos in coming times। Thank you ।

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

    Underrated , should be highly appreciated

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

    I wonder if the performance issue can be fixed by doing the grid visualization with the canvas API. It would be harder though cause you would lose the perks that react gives to every component for idetification purposes.
    Anyways, this was an awesome video, i hope you can find more time to do videos like these. Keep it up!

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

    Mate, honestly you are a legend

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

    I love this kind of tutorials... about engineering projects... like button smashed!

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

    This is... a super video, im not sure about other people, but for me... That video motivates me a lot! Thank You !

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

    you can't call this a tutorial, this is just a process overview, maybe

  • @mohamedh.394
    @mohamedh.394 5 років тому

    YESSS! I've been waiting for this! Thanks man.

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

    You are very much appreciated sir! Your Information is helping tons of people. I’m in the process of landing a SWE internship next summer and your vids are awesome!

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

    i don't think i really understood, but the video is good source to reference from, great work dude

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

    This is the bread and butter of UA-cam

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

    You could use react memoization or you can check if the state has changed for a cell. If it doesn’t change you can prevent the render.

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

    Thank You So much! Clement Mihailescu , I was waiting for this from a long time!....
    Keep the good work on!
    I will promote AlgoExpert in Nepal😃😃😜😜

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

      Suraj Gahatraj Awesome!

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

      wassup! im a fellow nepali in America haha

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

      @@shockminerx1518 I am Nepali in Nepal!

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

    Thanks dude...I just wanna give you a hug.

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

      🤗 (I think that's the hug emoji)

  • @MikeNeder
    @MikeNeder 8 місяців тому

    I liked the way the grid was getting morphed! lol

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

    Hey Clément! I noticed that your A* algorithm is not implemented correctly, it does not return the shortest path in all scenarios.
    The minimal failing scenario is as follow:
    ...........
    ...#......
    S #....E
    .........#
    a 4 by 4 region with start on (0,2), end on (3,2) and walls on (1,1), (1,2), (3,3).
    The path A* chooses is: up, up, right, right, right, down down (7 steps), optimal path is: down, right, right, up right (5 steps).

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

    To avoid ads go to last of the video play for a sec come-back to start enjoy the video ad-free

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

    you truly are a genius, great job man, i will definitely check out more of your content

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

    Finally, thanks @Clément Mihailescu.

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

    You're a wizard harry.

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

    I created this project, barebones by watching your video and taking the data structures course in linkedin learning. Honestly the algorithm is easy once you understand it, it's the implementation of the visualizer that annoyed me. React has its own way of doing things, the tutorial I followed used the turtle library in Python. Thanks for the videos Clement. After I'm done with this I'll follow your sorting visualizer video. Need to land that first job asap. lol

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

    30:11 LOL, that was so funny! I've never seen anyone eating a pizza like this 😄
    BTW, that sounded so crunchy 😋

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

    Thankyou so much for your efforts. You are helping people in a great way!

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

    you are our modern-day MESSIAH !!! Thanks a ton for your videos

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

    Great video man! I'm a visual learner, so this helps me a lot.

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

    Hey so at this minute mark: 7:46 I'm having trouble knowing how to create that component you were talking about? Any thoughts on how to create the component that I am missing?

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

    You are a genius. Keep up the good work. Thanks for posting this.

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

    I was wondering if there was a way to do this without creating an entirely new grid every time a node is visited/wall is placed. That feels excessively resource intensive to me.

  • @maniijuan
    @maniijuan 4 роки тому +11

    Not a tutorial, you should change the title. Nonetheless good video

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

    Could you make a video on "Roadmap to become a software Engineer?" what to learn for making projects? what to learn while learning data structure and Algo?

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

    When I try to run the react app the browser shows blank page...I've followed step by step but the output is not visible. Can someone help me ?

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

    Love this tutorial. It just feels so real!

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

    Thank you so much!! Your truly a public servent. I aspire to be like you.

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

    Thank you so much for such tutorial, you have done Great work Sir

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

    You are a legend❤️💯💯
    I just love your tutorials and these tutorials help me allot

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

    Can't wait to try it!

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

    Awesome dude, do more of this real coding

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

    One thing I found that this would end up becoming pretty buggy is in the PathfindingVisualer component, where the component is setting state within componentDidMount(). Although you might not experience this bug because of the small grid size. If you crank up the grid size to fill a larger screen with smaller nodes (many more nodes) the state won't set before you try mapping it causing a headache of a bug ( glorious undefined.. found due to experience of remaking this into a more complex example). Regardless, LOVE your stuff! Even considering getting algoexpert (this guy wants to get into bigtech after school).

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

    glad I'm not the only one struggling with CSS

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

    Hey Clément, I have a question... Could this project be done in Python ? Since I know very little about javascript and it would take me some time to learn abou it, since I'm confortable with python I would like to this idea and do it in python by myself, but is it really possible ? Thank you ;)