Graph Introduction - Data Structures & Algorithms Tutorials In Python #12

  Рет қаралды 189,831

codebasics

codebasics

Күн бұрын

Пікірлер: 183
@codebasics
@codebasics 2 жыл бұрын
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
@xspydazx
@xspydazx 3 ай бұрын
my favorite tree is the trie i use it for everything !
@turjo119
@turjo119 3 жыл бұрын
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.
@ultronhack8151
@ultronhack8151 3 жыл бұрын
parben apni inshallah
@tusharpatne6863
@tusharpatne6863 4 жыл бұрын
Sir, please make a playlist on Algorithms with Python.
@awsomeslayer1
@awsomeslayer1 3 жыл бұрын
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.
@codebasics
@codebasics 3 жыл бұрын
👍🙏
@19_kartikaswal19
@19_kartikaswal19 4 жыл бұрын
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.
@codebasics
@codebasics 4 жыл бұрын
Yes sure. I am going to make this series complete by covering almost all the concepts in DS and algorithms
@entity5678
@entity5678 8 ай бұрын
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..
@pranavwarke1966
@pranavwarke1966 3 жыл бұрын
This playlist helped me understand DSA more deeply. Thanks for making it look more easy.
@codebasics
@codebasics 3 жыл бұрын
Glad it was helpful!
@ExeArjuna
@ExeArjuna 3 жыл бұрын
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.
@faisalabdulkadir9439
@faisalabdulkadir9439 2 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@etorty_dev
@etorty_dev 3 жыл бұрын
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.
@thammayyaarava2259
@thammayyaarava2259 3 жыл бұрын
Love from India🇮🇳 You made data structures like a elementary school subject. I feel so comfortable when you are teaching it sir❤❤
@codebasics
@codebasics 3 жыл бұрын
Glad it was helpful!
@faisalabdulkadir9439
@faisalabdulkadir9439 2 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@Rahul_1.618
@Rahul_1.618 11 ай бұрын
This is hands down the best intro to graphs in python I've come across. Amazing work, dude!
@mr_californian
@mr_californian Жыл бұрын
Bro you are helping me a lot on passing my DS class. Thanks so much
@sachinmaurya3259
@sachinmaurya3259 3 жыл бұрын
Finally, I can say I know DSA .......... thank you sir for such a good explanation
@samjebaraj24
@samjebaraj24 3 жыл бұрын
Mauj kardi
@rameshthamizhselvan2458
@rameshthamizhselvan2458 4 жыл бұрын
Your efforts never waste... alwayzzz will give thumbs up....
@sayantanisaha
@sayantanisaha 3 жыл бұрын
Thank you, awaiting for graphs.....and waiting for Algos.....and also you are the best DSA teacher out there
@manideep6814
@manideep6814 2 жыл бұрын
I've implemented this long ago but did not know this was called Graph. Thanks for deep insights.
@faisalabdulkadir9439
@faisalabdulkadir9439 2 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@babumohanan1467
@babumohanan1467 9 ай бұрын
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
@sagardhiman4337 Жыл бұрын
Sir You are really doing a great job, lectures are excellent .Keep up the good work.
@ExplorerDheeraj9271
@ExplorerDheeraj9271 4 жыл бұрын
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...❤️❤️
@codebasics
@codebasics 4 жыл бұрын
Thanks and welcome
@gozdeyzgngl
@gozdeyzgngl Жыл бұрын
Sometimes you explain complex things very simply with more basic data.
@sepehrnem9773
@sepehrnem9773 2 ай бұрын
Thank you a lot for this fantastic course
@Gokul-eq4wm
@Gokul-eq4wm Жыл бұрын
In recursion, For loop goes to index 1 in grap_dict, after append mum, par, dub, ny ...Beauty...
@aaronaaronaaron5922
@aaronaaronaaron5922 3 жыл бұрын
What a wonderful and patience video!!!!!! Thanks again!!!! 🤸‍♂️
@deepikapatra1065
@deepikapatra1065 4 жыл бұрын
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:)
@codebasics
@codebasics 4 жыл бұрын
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! 👍
@vidhanrathore5954
@vidhanrathore5954 2 жыл бұрын
please make a detailed video for all the concepts of graph Thanks a lot, sir this help me alot
@e.w.6470
@e.w.6470 5 ай бұрын
It's really about recursion. If you understand recursion well it's not difficult to understand otherwise it's a struggle.
@learningwithjuce
@learningwithjuce 3 жыл бұрын
Thank you for breaking it all down clearly
@codebasics
@codebasics 3 жыл бұрын
☺️👍
@SiddharthSingh-dg6zs
@SiddharthSingh-dg6zs 3 жыл бұрын
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)
@faisalabdulkadir9439
@faisalabdulkadir9439 2 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@chiragmiskin7239
@chiragmiskin7239 3 жыл бұрын
This was one of the best DSA series I have seen! It has helped me a lot!!
@faisalabdulkadir9439
@faisalabdulkadir9439 2 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@austinscott1407
@austinscott1407 3 жыл бұрын
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
@faisalabdulkadir9439
@faisalabdulkadir9439 2 жыл бұрын
pls can u explain why he did paths = paths + [start]
@hassanmoussa4433
@hassanmoussa4433 Жыл бұрын
hello , thanks for your efforts , but did you upload the part for weighted graphs ?
@younesizeria4375
@younesizeria4375 2 жыл бұрын
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 ...
@ileanawilson610
@ileanawilson610 4 жыл бұрын
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
@codebasics
@codebasics 4 жыл бұрын
yes i am going to add many more tutorials in this series.
@mathesh5346
@mathesh5346 3 жыл бұрын
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?
@vishwasrchonu7134
@vishwasrchonu7134 10 ай бұрын
best DS tutorials 💯💯
@hshrestha2811
@hshrestha2811 2 жыл бұрын
Very helpful Sir. I was wondering if you would come up with more videos and exercises related to graph theory and its implementation.
@faisalabdulkadir9439
@faisalabdulkadir9439 2 жыл бұрын
pls can u explain why he did path = path + [start] and how does it work recursively?
@howardchin406
@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
@noornaddour8290 Жыл бұрын
Have you made a graph algorithems specific course (in python)?
@ethanhunt8493
@ethanhunt8493 Жыл бұрын
Sir jald bhut sare problem ke saath bnaiye video
@ganesh.majety5260
@ganesh.majety5260 4 жыл бұрын
Absolutely fantastic series BIG thumb's up sir. Hopefully make a playlist of Algorithms as well😍
@codebasics
@codebasics 4 жыл бұрын
sure i will add algo videos
@siddharthsinghh
@siddharthsinghh 3 жыл бұрын
Sir please make all further videos related to the graph
@dipannita7436
@dipannita7436 4 жыл бұрын
Sir please make a video on artificial intelligence coding......... Only for u I have understood machine learning from ur video...❤️❤️❤️🔥
@MrJouH4
@MrJouH4 2 жыл бұрын
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.
@kavandalal
@kavandalal 2 жыл бұрын
Waiting for more videos on graphs
@manishkrsingh7684
@manishkrsingh7684 Жыл бұрын
It was very well explained and I liked it very much..... Well Explained Is there any video on BFS and DFS???
@qaisahm8144
@qaisahm8144 3 жыл бұрын
amazing explanation, thank you very much.
@codebasics
@codebasics 3 жыл бұрын
Glad it was helpful!
@RohitOturkar
@RohitOturkar 2 ай бұрын
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??
@puneethv4138
@puneethv4138 3 жыл бұрын
Pls Continue with Weighted graphs , DFS and BFS in Graphs
@netraamrale3850
@netraamrale3850 Жыл бұрын
Very nice explanation!!! Any more graph videos teaching traversals?
@vidhanrathore5954
@vidhanrathore5954 2 жыл бұрын
Please reply to me if you have made more videos on graph. I didn't find them
@diveshkumar8025
@diveshkumar8025 3 жыл бұрын
Please Make Some More Videos on Graph.
@anirbanc88
@anirbanc88 2 жыл бұрын
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!
@ujjwal4441
@ujjwal4441 4 жыл бұрын
whats the need of creating paths when it gives the same thing as in new_paths?
@kasrayazdani8628
@kasrayazdani8628 2 жыл бұрын
Nicely explained.
@BcomingHIM
@BcomingHIM 4 жыл бұрын
love this playlist. Keep continuing this!. Thank you
@Tombecs50
@Tombecs50 9 ай бұрын
Did you ever cover weighted graphs?
@zedor1553
@zedor1553 Жыл бұрын
is there any chance you could extend by adding visualization of these graphs?
@pinguzkitchen3669
@pinguzkitchen3669 4 жыл бұрын
sir your series is great and you are doing such a good work for students like us :) God Bless you immensely.
@codebasics
@codebasics 4 жыл бұрын
I am happy this was helpful to you.
@Abhishek-jh9lz
@Abhishek-jh9lz Жыл бұрын
Great Educational content ❤
@codebasics
@codebasics Жыл бұрын
I am happy this was helpful to you.
@sameerplaynicals8790
@sameerplaynicals8790 2 жыл бұрын
Can you make a Java algorithm playlist? Java is my first language that's why it's easier for me understand.
@priyanshupurohit5431
@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
@rajubjc6349
@rajubjc6349 4 жыл бұрын
Hi, For the shortest path, can we just call get_paths(start, end) and return the one with the shortest length among those?
@akshendoke450
@akshendoke450 3 жыл бұрын
Excellent tutorial! good explanation very easy to understand! Thanks for creating this.
@codebasics
@codebasics 3 жыл бұрын
😊👍
@sezermezgil9304
@sezermezgil9304 3 жыл бұрын
Thx for tutorial and are you going to add new videos about graph ?
@marcubale
@marcubale 3 жыл бұрын
Nice explanation
@siddhantpathak9405
@siddhantpathak9405 3 жыл бұрын
Maaan !!! Recursion is a hard concept to wrap your head around. Please suggest some source to practice this skill. Thank You :>
@meralmaradia4774
@meralmaradia4774 2 жыл бұрын
Hello Sir, can you please create a video developing of project using only DSA ?
@danielwang4917
@danielwang4917 3 жыл бұрын
Thanks for the clear video
@codebasics
@codebasics 3 жыл бұрын
Glad it was helpful!
@judeleon8485
@judeleon8485 4 жыл бұрын
You are doing a great job. Thanks so much
@ayushshukla2449
@ayushshukla2449 2 жыл бұрын
Thank you for your efforts. Great help!
@SENAPATIENTERTAINMENT
@SENAPATIENTERTAINMENT 3 жыл бұрын
More graph videos please 🙏
@fahadreda3060
@fahadreda3060 4 жыл бұрын
Great video as usual,Thanks
@learnerlifelong6455
@learnerlifelong6455 3 жыл бұрын
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
@abhishekkumaryadav3647
@abhishekkumaryadav3647 4 жыл бұрын
thanku sir keep uploading such videos ....loved your effort
@priyankmadhur2990
@priyankmadhur2990 4 жыл бұрын
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.
@sabarikrishnam1485
@sabarikrishnam1485 4 жыл бұрын
Yes I was thinking the same as well.
@mohammadkareem1187
@mohammadkareem1187 2 жыл бұрын
The question is which way is more computation intense. Do you happen to find an answer to this?
@leopromatchshows7479
@leopromatchshows7479 4 жыл бұрын
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.
@austinscott1407
@austinscott1407 3 жыл бұрын
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.
@soumyavats6596
@soumyavats6596 3 жыл бұрын
hello sir loved your video, please let me know when the series on weighted graph and algo will come
@QVL75
@QVL75 2 жыл бұрын
Great video. Thanks!
@mohammadpatel2315
@mohammadpatel2315 3 жыл бұрын
When will we see more videos on graphs?
@dgmusicsongs
@dgmusicsongs 4 жыл бұрын
love your video and waiting for more
@jiakai7254
@jiakai7254 Жыл бұрын
for shortest_path is it inefficient if u just use min(get_paths ... , key=len)
@ArunKumar-yb2jn
@ArunKumar-yb2jn 3 жыл бұрын
4:23 Mumbai --> Boston ---> Hartford ---> New York should be 5300, not 5120. Correct?
@moviemania1021
@moviemania1021 4 жыл бұрын
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 :)
@prithvijali2629
@prithvijali2629 2 жыл бұрын
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
@jameshuang582
@jameshuang582 3 жыл бұрын
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)
@anythingit2399
@anythingit2399 2 жыл бұрын
Can anyone please explain me how shortest_path is working out here ? Unable to understand that
@daniel280187
@daniel280187 4 жыл бұрын
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.
@codebasics
@codebasics 4 жыл бұрын
Thanks for the sub!
@dantedt3931
@dantedt3931 3 жыл бұрын
This is good.Thanks.
@codebasics
@codebasics 3 жыл бұрын
Glad you like it!
@sarveshbagwe8194
@sarveshbagwe8194 2 жыл бұрын
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.
@sarveshbagwe8194
@sarveshbagwe8194 2 жыл бұрын
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.
@kamaleshmohapatra700
@kamaleshmohapatra700 4 жыл бұрын
Sir how many videos will be there in this series!??
@jiakai7254
@jiakai7254 Жыл бұрын
if u nest path=[ ] within get_paths wouldnt it get reset for each recursive call?
@siddhantapuvenkatabhuvanch7597
@siddhantapuvenkatabhuvanch7597 4 жыл бұрын
Missed the excericse for this Video :( Waiting for future videos on Graphs
@JJohnny224
@JJohnny224 3 жыл бұрын
That was helpful! Thank you!
@codebasics
@codebasics 3 жыл бұрын
Glad it was helpful!
@softsolutions6668
@softsolutions6668 2 жыл бұрын
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
@WeakCoder
@WeakCoder 4 жыл бұрын
Hey Dhaval, I hope your health's great now. Great vid, could've done with a little more theory though. cheers!
@codebasics
@codebasics 4 жыл бұрын
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
@ulrikisdahl7555
@ulrikisdahl7555 4 жыл бұрын
@@codebasics Great!
@chilukanand
@chilukanand 3 жыл бұрын
Hey nice video buddy, thank you very much for the video!
@codebasics
@codebasics 3 жыл бұрын
Glad you liked it!
@Lynn-ye4sk
@Lynn-ye4sk Жыл бұрын
very good!
@shubhgaur2805
@shubhgaur2805 3 жыл бұрын
Sir, please make more videos on graph is video not clear as much
@soumalyadas1123
@soumalyadas1123 Жыл бұрын
nice one!
@ramapatipatra5384
@ramapatipatra5384 2 жыл бұрын
very nice
@pallavisrivastava2187
@pallavisrivastava2187 3 жыл бұрын
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.
@codebasics
@codebasics 3 жыл бұрын
Yes that video is coming up soon
@pallavisrivastava2187
@pallavisrivastava2187 3 жыл бұрын
@@codebasics Thank You!
Binary Search - Data Structures & Algorithms Tutorial Python #13
25:15
Introduction to Graph Theory: A Computer Science Perspective
16:26
Муж внезапно вернулся домой @Oscar_elteacher
00:43
История одного вокалиста
Рет қаралды 6 МЛН
Turn Off the Vacum And Sit Back and Laugh 🤣
00:34
SKITSFUL
Рет қаралды 2,8 МЛН
МЕНЯ УКУСИЛ ПАУК #shorts
00:23
Паша Осадчий
Рет қаралды 5 МЛН
Graph Algorithms for Technical Interviews - Full Course
2:12:19
freeCodeCamp.org
Рет қаралды 1,2 МЛН
Data structures: Introduction to graphs
16:43
mycodeschool
Рет қаралды 973 М.
Hash Table - Data Structures & Algorithms Tutorials In Python #5
17:52
NetworkX Crash Course - Graph Theory in Python
38:49
NeuralNine
Рет қаралды 73 М.
Linked List - Data Structures & Algorithms Tutorials in Python #4
28:16