Do you want to learn python from me with a lot of interactive quizzes, and exercises? Here is my project-based python learning course: codebasics.io/courses/python-for-beginner-and-intermediate-learners
@xspydazx3 ай бұрын
my favorite tree is the trie i use it for everything !
@turjo1193 жыл бұрын
Thank you for your efforts. As a self-taught learner who had no background in CS until a year ago, videos such as yours are what's helping me believe I can succeed in a new career field.
@ultronhack81513 жыл бұрын
parben apni inshallah
@tusharpatne68634 жыл бұрын
Sir, please make a playlist on Algorithms with Python.
@awsomeslayer13 жыл бұрын
This is the only video that I had to watch 2nd time in order to understand. But it is because of the complexity of Graph and my friends tell me that even if you get it in 2nd try, the video maker has done a great job. Thanks Daval, your tutorials are the best.
@codebasics3 жыл бұрын
👍🙏
@19_kartikaswal194 жыл бұрын
After completion of data structures sir please dont forget to make videos on algorithms using python because this is really rare to find someone ...your work is awesome please keep going ..we truly rely on you.
@codebasics4 жыл бұрын
Yes sure. I am going to make this series complete by covering almost all the concepts in DS and algorithms
@entity56788 ай бұрын
I know sir you teach python stuff but never really thought you are this good..I am trying to have this thing in my head for the interviews and the way you taught is beyond excellent..you got a new subscriber..
@pranavwarke19663 жыл бұрын
This playlist helped me understand DSA more deeply. Thanks for making it look more easy.
@codebasics3 жыл бұрын
Glad it was helpful!
@ExeArjuna3 жыл бұрын
If you have already a method called "get_paths" for getting all possible routes, then you can get the shortest_path by reusing that same method too. This will also show the all possible shortest routes rather than showing just one. "Shortest Path between Mumbai and New York: [['Mumbai', 'Paris', 'New York'], ['Mumbai', 'Dubai', 'New York']]" def get_shortest_path(self, start, end): total_paths = self.get_paths(start,end) shortest_paths = [] for i in total_paths: if len(i) == len(min(total_paths)): shortest_paths.append(i) return shortest_paths ALSO A BIG THANK YOU @codebasics FOR SHARING ALL YOUR KNOWLEDGE AND HELPING US.
@faisalabdulkadir94392 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@etorty_dev3 жыл бұрын
Wow! You put in a great deal of effort into these videos! Thank you so much! Please, please give us some exercises or problems we can solve on graphs: directed, undirected and weighted types. I've had so much fun working on the previous exercises in this series.
@thammayyaarava22593 жыл бұрын
Love from India🇮🇳 You made data structures like a elementary school subject. I feel so comfortable when you are teaching it sir❤❤
@codebasics3 жыл бұрын
Glad it was helpful!
@faisalabdulkadir94392 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@Rahul_1.61811 ай бұрын
This is hands down the best intro to graphs in python I've come across. Amazing work, dude!
@mr_californian Жыл бұрын
Bro you are helping me a lot on passing my DS class. Thanks so much
@sachinmaurya32593 жыл бұрын
Finally, I can say I know DSA .......... thank you sir for such a good explanation
@samjebaraj243 жыл бұрын
Mauj kardi
@rameshthamizhselvan24584 жыл бұрын
Your efforts never waste... alwayzzz will give thumbs up....
@sayantanisaha3 жыл бұрын
Thank you, awaiting for graphs.....and waiting for Algos.....and also you are the best DSA teacher out there
@manideep68142 жыл бұрын
I've implemented this long ago but did not know this was called Graph. Thanks for deep insights.
@faisalabdulkadir94392 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@babumohanan14679 ай бұрын
this is merging two list in to a single list at the beginning path has a value lets assume "mumbai", second time the sart has another node suppose it is "new york" hence path would be ["mumbai"]+["ne york"] = ["mumbai","new york"]@@faisalabdulkadir9439
@sagardhiman4337 Жыл бұрын
Sir You are really doing a great job, lectures are excellent .Keep up the good work.
@ExplorerDheeraj92714 жыл бұрын
Superb....I have learnt all data structures from your playlist. Your videos are interesting and attractive. THANK YOU SO SO MUCH ❤️❤️❤️❤️ LOVE FROM ANDHRA PRADESH...❤️❤️
@codebasics4 жыл бұрын
Thanks and welcome
@gozdeyzgngl Жыл бұрын
Sometimes you explain complex things very simply with more basic data.
@sepehrnem97732 ай бұрын
Thank you a lot for this fantastic course
@Gokul-eq4wm Жыл бұрын
In recursion, For loop goes to index 1 in grap_dict, after append mum, par, dub, ny ...Beauty...
@aaronaaronaaron59223 жыл бұрын
What a wonderful and patience video!!!!!! Thanks again!!!! 🤸♂️
@deepikapatra10654 жыл бұрын
Hello, this series has been really helpful in my coding preparation, especially for understanding how to implement different data structures with Python. Could you please upload more videos on graph and also exercises related to it? Your exercises are really amazing:)
@codebasics4 жыл бұрын
Yes Deepika I am actively working on this series. It will have many more videos , your one stop solution for all data structure and algo knowledge. Stay tuned! 👍
@vidhanrathore59542 жыл бұрын
please make a detailed video for all the concepts of graph Thanks a lot, sir this help me alot
@e.w.64705 ай бұрын
It's really about recursion. If you understand recursion well it's not difficult to understand otherwise it's a struggle.
@learningwithjuce3 жыл бұрын
Thank you for breaking it all down clearly
@codebasics3 жыл бұрын
☺️👍
@SiddharthSingh-dg6zs3 жыл бұрын
line 5 to 10 can be reduced as below :) for start, end in self.edges: self.graph_dict.setdefault(start, []).append(end) print(self.graph_dict)
@faisalabdulkadir94392 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@chiragmiskin72393 жыл бұрын
This was one of the best DSA series I have seen! It has helped me a lot!!
@faisalabdulkadir94392 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@austinscott14073 жыл бұрын
To prevent people from spending 30 mins troubleshooting like me, this is a key difference in the get_paths() method and get_shortest_path() method: get_paths(): if start == end: return [path] get_shortest_path(): if start == end: return path get_paths() returns it's path variable converted to list form, which then allows it to build onto the previous list (Because we're adding additional paths (lists) to eachother). Not the case in get_shortest_path() which is replacing the existing path with a new one, if the new one is shorter than the others. Spent a while trying to figure out why it was returning [['Mumbai','Paris','Dubai','New York']] as the shortest path only to realize it was a list of lists, which had a len==1
@faisalabdulkadir94392 жыл бұрын
pls can u explain why he did paths = paths + [start]
@hassanmoussa4433 Жыл бұрын
hello , thanks for your efforts , but did you upload the part for weighted graphs ?
@younesizeria43752 жыл бұрын
Have a look to my code, I tried to implement it before seeing yours, then it worked then checked yours and found it hard to understand haha : def get_paths(self, start, end, path=[ ]): path = path + [start] if start == end: return [path] if start not in self.dict_graph: return [ ] paths = [ ] for node in self.dict_graph[start]: paths += self.get_paths(node, end, path) return paths I think mine looks clear ...
@ileanawilson6104 жыл бұрын
Sir your explanation is damn good..we need algorithm also like how to use greedy ,dynamic programming, divide and conquer, branch and bound ,bit manipulation etc..pleaseeeee sirrr
@codebasics4 жыл бұрын
yes i am going to add many more tutorials in this series.
@mathesh53463 жыл бұрын
One Doubt Sir because I am absolutely a beginner in this. Why we are creating our data in tuples first and then migrating to a dictionary. Why can't we directly declare our values in a dictionary?
@vishwasrchonu713410 ай бұрын
best DS tutorials 💯💯
@hshrestha28112 жыл бұрын
Very helpful Sir. I was wondering if you would come up with more videos and exercises related to graph theory and its implementation.
@faisalabdulkadir94392 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@howardchin406 Жыл бұрын
Thanks for the video sir! I'm glad I have finished all the basic knowledge in data structure( Of course I have done the excercise lol)
@noornaddour8290 Жыл бұрын
Have you made a graph algorithems specific course (in python)?
@ethanhunt8493 Жыл бұрын
Sir jald bhut sare problem ke saath bnaiye video
@ganesh.majety52604 жыл бұрын
Absolutely fantastic series BIG thumb's up sir. Hopefully make a playlist of Algorithms as well😍
@codebasics4 жыл бұрын
sure i will add algo videos
@siddharthsinghh3 жыл бұрын
Sir please make all further videos related to the graph
@dipannita74364 жыл бұрын
Sir please make a video on artificial intelligence coding......... Only for u I have understood machine learning from ur video...❤️❤️❤️🔥
@MrJouH42 жыл бұрын
Hi prof, i hope you are very well. We all hope that you consider making other videos about graph and its implementation (EX: weighted graph, graph using adjacancy matrix, ...) And thank you for all your effort, i wish you a great day.
@kavandalal2 жыл бұрын
Waiting for more videos on graphs
@manishkrsingh7684 Жыл бұрын
It was very well explained and I liked it very much..... Well Explained Is there any video on BFS and DFS???
@qaisahm81443 жыл бұрын
amazing explanation, thank you very much.
@codebasics3 жыл бұрын
Glad it was helpful!
@RohitOturkar2 ай бұрын
for weighted graphs can we just sort out the values by the weights in descending and then visit them one by one giving the highest weight the priority??
@puneethv41383 жыл бұрын
Pls Continue with Weighted graphs , DFS and BFS in Graphs
@netraamrale3850 Жыл бұрын
Very nice explanation!!! Any more graph videos teaching traversals?
@vidhanrathore59542 жыл бұрын
Please reply to me if you have made more videos on graph. I didn't find them
@diveshkumar80253 жыл бұрын
Please Make Some More Videos on Graph.
@anirbanc882 жыл бұрын
I was hoping for the exercise! Anyways, thank you for all your efforts, learnt a lot from you and specially those exercises, thank you sir!
@ujjwal44414 жыл бұрын
whats the need of creating paths when it gives the same thing as in new_paths?
@kasrayazdani86282 жыл бұрын
Nicely explained.
@BcomingHIM4 жыл бұрын
love this playlist. Keep continuing this!. Thank you
@Tombecs509 ай бұрын
Did you ever cover weighted graphs?
@zedor1553 Жыл бұрын
is there any chance you could extend by adding visualization of these graphs?
@pinguzkitchen36694 жыл бұрын
sir your series is great and you are doing such a good work for students like us :) God Bless you immensely.
@codebasics4 жыл бұрын
I am happy this was helpful to you.
@Abhishek-jh9lz Жыл бұрын
Great Educational content ❤
@codebasics Жыл бұрын
I am happy this was helpful to you.
@sameerplaynicals87902 жыл бұрын
Can you make a Java algorithm playlist? Java is my first language that's why it's easier for me understand.
@priyanshupurohit5431 Жыл бұрын
is it convinient to find shortest_path by first finding list of all possible paths and then fetch the element which has lowest length
@rajubjc63494 жыл бұрын
Hi, For the shortest path, can we just call get_paths(start, end) and return the one with the shortest length among those?
@akshendoke4503 жыл бұрын
Excellent tutorial! good explanation very easy to understand! Thanks for creating this.
@codebasics3 жыл бұрын
😊👍
@sezermezgil93043 жыл бұрын
Thx for tutorial and are you going to add new videos about graph ?
@marcubale3 жыл бұрын
Nice explanation
@siddhantpathak94053 жыл бұрын
Maaan !!! Recursion is a hard concept to wrap your head around. Please suggest some source to practice this skill. Thank You :>
@meralmaradia47742 жыл бұрын
Hello Sir, can you please create a video developing of project using only DSA ?
@danielwang49173 жыл бұрын
Thanks for the clear video
@codebasics3 жыл бұрын
Glad it was helpful!
@judeleon84854 жыл бұрын
You are doing a great job. Thanks so much
@ayushshukla24492 жыл бұрын
Thank you for your efforts. Great help!
@SENAPATIENTERTAINMENT3 жыл бұрын
More graph videos please 🙏
@fahadreda30604 жыл бұрын
Great video as usual,Thanks
@learnerlifelong64553 жыл бұрын
Wow...looks interesting. I must be related to PERT -CPM methods of scheduling [from mathematics/Operations research] similarly, I found Tree data structure analogous to decision tree in ML
@abhishekkumaryadav36474 жыл бұрын
thanku sir keep uploading such videos ....loved your effort
@priyankmadhur29904 жыл бұрын
Hi, just wanted to know that for getting the shortest path, can I just call get_path method and return the list with minimum length. And great videos very nicely explained.
@sabarikrishnam14854 жыл бұрын
Yes I was thinking the same as well.
@mohammadkareem11872 жыл бұрын
The question is which way is more computation intense. Do you happen to find an answer to this?
@leopromatchshows74794 жыл бұрын
Hey, It is a great tutorial. But I'm wondering why necessarily we have to create a method to find the shortest path when we can easily find it using an instance variable. For example, we could create self.shortest_path and set it to None. Then in the get_paths method, we could update it by simply finding the smallest length of the list inside the paths list. This way it would return both the paths like Mumbai-Paris_NewYork and Mumbai-Dubai-NewYork because their length is three. Also, it would make the coding a lot easier as well.
@austinscott14073 жыл бұрын
self in this case is the entire graph of all nodes. To find the shortest path between two specific nodes within that graph, I don't think it makes too much sense to have an attribute self.shortest_path as you'd want to figure out the shortest path between two nodes within the graph, not the shortest path on the entire graph (Which will always be len == 1). But I agree that this would have been easily done by just using the get_paths method, though I'd guess he wanted to show another example of recursion for educational reasons.
@soumyavats65963 жыл бұрын
hello sir loved your video, please let me know when the series on weighted graph and algo will come
@QVL752 жыл бұрын
Great video. Thanks!
@mohammadpatel23153 жыл бұрын
When will we see more videos on graphs?
@dgmusicsongs4 жыл бұрын
love your video and waiting for more
@jiakai7254 Жыл бұрын
for shortest_path is it inefficient if u just use min(get_paths ... , key=len)
@ArunKumar-yb2jn3 жыл бұрын
4:23 Mumbai --> Boston ---> Hartford ---> New York should be 5300, not 5120. Correct?
@moviemania10214 жыл бұрын
Sir i'm new in your youtube channel and found your videos really helpful and informative... But sir i wanna a request to you that is i'm so much interested in competitive programming and solving algorithms so can you plz make a video on that it will be really helpful if you do Btw thanks for this awesome videos :)
@prithvijali26292 жыл бұрын
Hi Grate video. I think the code to getpaths needs one small change to accommodate paths between 'newyork' and 'torento'. path=path+[start] # if start not in self.graphs_dict: # return [] if start==end: return [path] paths=[] if start in self.graphs_dict: for node in self.graphs_dict[start]: if node not in path: new_paths=self.paths(node,end,path) for i in new_paths: paths.append(i) return paths Please correct me if am wrong. Thanks in advance
@jameshuang5823 жыл бұрын
Hi I have an issue at time 11.41min of the video as I am unable to run the code on my code editor which is visual studio code. I end up getting: ValueError: too many values to unpack (expected 2)
@anythingit23992 жыл бұрын
Can anyone please explain me how shortest_path is working out here ? Unable to understand that
@daniel2801874 жыл бұрын
What a great tutorial!! Thanks a lot for another excellent video. I've subscribed to your channel due to the quality of the content and for creating such great visualisations to help us understand these topics. Thanks for sharing.
@codebasics4 жыл бұрын
Thanks for the sub!
@dantedt39313 жыл бұрын
This is good.Thanks.
@codebasics3 жыл бұрын
Glad you like it!
@sarveshbagwe81942 жыл бұрын
Thank you for providing such useful content for Non-CS background learners. I want to suggest one edit in a code that is in the get_path() using for loop for appending p from new_paths to paths(list) can't we directly use paths = paths+new_paths and then return paths it might decrease the time complexity as there will be addition operation to list instead of nested for loops in get_path function reducing the time complexity.
@sarveshbagwe81942 жыл бұрын
edit I tried to calculate the time required to execute both the codes: Actual code time = 0.000984668 Suggested code time = 0.0007658 P.S I am not criticizing just asking as I have learned about time complexity from your tutorials only.
@kamaleshmohapatra7004 жыл бұрын
Sir how many videos will be there in this series!??
@jiakai7254 Жыл бұрын
if u nest path=[ ] within get_paths wouldnt it get reset for each recursive call?
@siddhantapuvenkatabhuvanch75974 жыл бұрын
Missed the excericse for this Video :( Waiting for future videos on Graphs
@JJohnny2243 жыл бұрын
That was helpful! Thank you!
@codebasics3 жыл бұрын
Glad it was helpful!
@softsolutions66682 жыл бұрын
is it ok if we get shortest path using getpaths method. LIke after getting list of all paths, can I take a list which is having lesser cities
@WeakCoder4 жыл бұрын
Hey Dhaval, I hope your health's great now. Great vid, could've done with a little more theory though. cheers!
@codebasics4 жыл бұрын
I will upload probably 10, more tutorials on graph alone. There are many concepts to cover such graph traversal, dijikstra's algo, graph representation etc, wanted to start with something simple and cover advanced topics as we go
@ulrikisdahl75554 жыл бұрын
@@codebasics Great!
@chilukanand3 жыл бұрын
Hey nice video buddy, thank you very much for the video!
@codebasics3 жыл бұрын
Glad you liked it!
@Lynn-ye4sk Жыл бұрын
very good!
@shubhgaur28053 жыл бұрын
Sir, please make more videos on graph is video not clear as much
@soumalyadas1123 Жыл бұрын
nice one!
@ramapatipatra53842 жыл бұрын
very nice
@pallavisrivastava21873 жыл бұрын
Hi Dhaval, I am wondering if it is possible for you to make a Breath first search video for graph. I watched many videos on this but they don’t explain as well as you.