For Mobile Users 0:00:00 Intro 0:01:04 What is Big O? 0:03:03 O(1) 0:04:32 O(n) 0:08:17 O(n^2) 0:10:41 O(log n) 0:13:20 O(2^n) 0:14:10 Space Complexity 0:17:53 Understanding Arrays 0:21:03 Working with Arrays 0:24:32 Exercise: Building an Array 0:27:24 Solution: Creating the Array Class 0:30:43 Solution: insert() 0:35:03 Solution: remove() 0:39:54 Solution: indexOf() 0:42:23 Dynamic Arrays 0:46:11 Linked Lists Introduction 0:46:41 What are Linked Lists? 0:51:16 Working with Linked Lists 0:54:40 Exercise: Building a Linked List 0:56:05 Solution: addLast() 1:02:15 Solution: addFirst() 1:04:28 Solution: indexOf() 1:06:23 Solution: contains() 1:07:28 Solution: removeFirst() 1:11:52 Solution: removeLast()
39:03 in the removeAt() method the for loop's condition should be i < count - 1, because inside it's block you access items[i + 1] which in case where count == items.length will throw an ArrayIndexOutOfBounds exception. I know that count can't be equal to the length of the array because you resize it when that happens, but It is still a small mistake since your method will be dependent of your insert method so I decided I should mention it. Overall the video is very well made and explains everything with simple examples.
I'm only about a half-hour into this lesson, and I can already tell that it will be very helpful. I was trying to follow along with an eight-hour video posted by a Google engineer and was really struggling. Your approach to teaching this concept is working much better for me. Thank you for posting this video!
Just wanted to say how much I appreciate you as a teacher Mosh -- you communicate things so well and make math and computer science genuinely fun to learn
Mosh, in my internship over a year ago, I studied your course on React, built an awesome application, and won a lot of praise from my co-workers. I just got laid off (by the same company) and back to the job hunt. I'll check out this course. I have a lot of faith in your content! Thanks for making these for us.
@@akshaysharma145 forgot about the DS and Algo one. I took that too. As far as I remember, they were all up to date when I took them, all within the last couple years. I thought they were all great, but looking back on the Redux course, I feel I could have just taken a look at the documentation to learn what I know
A huge thank you Mosh! You don't know how much I love to watch your videos. It's a strange matter in me that I am never satisfied by just good explanation, I also need to have nice presentations too! Just like the one you are having. Your videos are the just perfect blueprint of the kind of educational videos I always wanted to watch...once again, thanks mosh. You really get my back everytime I need to have such nice explanations of any topic!!❤️
Huge thanks to you, I finally understand linked lists and how to work with them, before this I was struggling a lot with them. Now I understand them very well. You're amazing for giving us this for free.
I followed to here from the beginner’s course. The interactive part is the key. After doing the interactive exercises I was like aha I got it. Before that I read other’s code just fine, but cannot write one myself.
Mosh, you're an amazing tutor! TH-cam suggested me your design patterns lesson and from that moment I can't stop watching your videos. I'm also going to buy the whole courses from your website. I would like to point out a correction (or rather an omission) on this video though. Although you correctly pointed out that the time complexity of removing the last item from a linked list is O(n), for the Java LinkedList is actually O(1) since it's implemented as a double linked-list. Again, thank you for your awesome work!
@@kanchanvyas5490 For Java's implementation of LinkedList, the worst case for removing the last item is also constant O(1). Basically, it maintains a pointer to the last item of the list, and given that the list is implemented as double linked list it can access the item before last and easily remove the last item.
Mosh, I have bought this course on your website and let me just say - the way you teach how to create our own methods to manipulate arrays is exactly how my d.s. & a. class in school should have taught us but didn't! We are essentially learning how the original Java classes were developed from scratch with your course! SO COOL
Even though Java allows bracketless single statement for loops, it's good practice to use brackets anyway. It's especially helpful in Pull Request reviews and manual resolving of merge conflicts.
Imagine you have a bracketless if statement somewhere in loop and you add another condition to that, be it by accident or through a merge conflict. what happens now is that instead of being executed only if the condition applies, it will be executed every time. This entire concept makes no sense, it makes the code incoherent and easy to break. I'd be extremely cautios to take advise from someone who has such a coding style, that's what I am trying to say.
I LOVE YOU FOR EXPLAINING IT WITH ANIMATIONS AND MAKE IT LOOK SUPER EASY. GOD BLESS YOU.WITHOUT UNDERSTANDING THE BASICS IT IS HARD TO MASTER THE DS AND ALGOS.
I was very struggling with why the binary search has log(n) complexity until I learned that CS uses logarithm base 2, unlike in math with 10. It all made sense after realizing that.
Not quite right, the base of the logarithm is defined by the nature of the algorithm. The logarithm can use different base depending upon the type of algorithm.
i feel sorry for those college professor who taught us like every thing about CS is difficult to understand. Mosh changed the game and made it to easy to understand every CS courses. we pay a lot for colleges for nthn but to stress our selves with exam with 0 knowledge. but with mosh we enjoyed the free courses and gain knldg with great presentation skill. we need 100 more of you in the tech world . THANK YOU!!
13 minutes of video have thought me more than 1 whole week coding at hackerrank or doing coding excercises to find the proper algorythm... you sir are a master of masters
Programming with Mosh I’ve watched almost all of it. I’ve also purchase your python for developers, OOP in JS, and 2 of your C# courses. The way you teach is just so clear to me, and it helps me learn so much. Thank you sooo much Mosh!
This tutorial from Mosh is really changed my mind to look towards Data Structures.A lot thanks and support to Mosh.Never find this kind of tutorial which is explained in more easy and detailed way. 🙌
For the removeLast() method I suggest to use two pointers say current and next both initialized to first. And the while(next!=null) { current=next; next=next.next;} When the loop terminates the current points to the last node. This will no longer need the creation of the getPrevious() method.
I will finish my javascript course this week but I think I haven't really understand the logic. So I check out this video. Thanks for making such a wonderful tutorial Mosh!!
It is a great video. A great tutorial. There is a slight error in the addFirst method. It is necessary to create the link between the first and second node. I'm sure I'll buy the course. Congratulations!
I wish i could pay for a full course..... but i can't.... Thank you for the freebies you make available! well appreciated you are the best teacher i have had so far
I already have the course but I just came here to say that you are definitely more worth it than Joma-Tech charging $100 a year for his classes. Thank you for this awesome resource!
could you please share which courses did you take by mosh? also if the react course is worth buying in 2022 as the version mentioned is 16.2. And hows the ds and algo course?
Hi Mosh! Your videos are just awesome. I have my data structure exam after a month. So it is my humble request to pls upload video of trees,hash tables and AVL trees etc quickly so that I can prepare myself for the exam. The problem is that I cannot buy the course so pls help me in this regard. Thanks!
I might be mistaken but the Array implementation will throw ArrayIndexOutOfBoundException when executing removeAt. When it reaches IndexOfLast - 1, it will try to access an invalid item of the array. The for loop should be "for (int i = index; i < count - 1; i++) " instead Good explanations otherwise
Thank you for you uploading...i am learning python and java through u r videos but what use for me I don't have any programming job but still learning 😂 but I like it...
I just got done asking my CS teacher does he have any sources for learning data structures he said to use the book, and then I get home to see this in my recommendations. Some thing aint adding up
i just woke up after dreaming of my school time and trying to understand why they taught us arrays before array list and then this is on my subscription list...
@@rudranarayandash1466 I have not bought the book for this semester because we were just learning java and i had an old edition of what we needed but i am going to buy the book. The book we needed was "Introduction to Java Programming and Data Structures, Comprehensive Version, 11th Edition"
Well, that moment when you ask your parents for Christmas, a SUBSCRIPTION to watch Mosh courses. As soon as I saw you had a video about this topic. Instantly bought a subscription to your courses and told my parents it would be my christmas gift. :D Thanks this would be much appreciated since I am having troubles with how my teacher explain this at the university. Lots of variables with a,b,c,s,kmnnakfwofkvms and no real examples.
I believe teaching is a wonderful gift from the Almighty , and you are blessed abundantly for sure . Amazing videos Mosh. I have been following urs for Python and now for DS .. Thanks!!
@@redsantelices8498 No it won't. You'll get for (int i = 0; i < 0; i++) Then, the body of the loop will not be executed at all, which is what should happen.
@@redsantelices8498 that is caught a few lines earlier where an error is thrown if index >= count. And actually, getting an error when removing an element from an empty list seems entirely justifiable... ;-)
This is so useful specially now that we students need to study and understand programming alone because of this pandemic. Thank you Mr. Mosh that u exist! You discuss data structure and algorithms better than my instructor. 😅 To more videos to watch! 😊
Best Python Tutorial on You Tube - Programming with Mosh Best Java Tutorial on You Tube - Programming with Mosh Best Data Structures in Java Tutorial on You Tube - Programming with Mosh
Hi Mosh, Your way of teaching is very beautiful. Keep creating such videos. I just want to point out one mistake in this video which I found while practicing the code. In your Arrays section, in "removeAt(int index)" method you have used for a loop as , for (int i = index; i < count; i++){ items[i] = items[i+1]; } which will not work if you add 6 elements in the array and remove the last element from it. eg. in the Main class if you write : array.insert(5); array.insert(53); array.insert(50); array.insert(56); array.insert(57); array.insert(58); array.removeAt(5); Then, your code will give "ArrayIndexOutOfBoundException" (As the array is full and the count variable has been initialized to '6' and inside for loop you are trying to shift element at 6th index to 5th index. But at the 6th index element is not present, because the array is up to 5th index only). If we replace that code with the below code it will work for all the cases. for (int i = index; i < count-1; i++) { items[i] = items[i+1]; }
Good observation Abhijit. Also, in the same removeat methond, after completing loop, count-- is added to remove last item which is still there. However count is just a tracker and does not really remove anything from Array. Because it is being used in Print method, it is giving impression that array does not include it. Please comment.
The reason Mosh's demo doesn't show the out of boundary error in this video is because the items actually has a size of 6. It just got the size doubled from initial 3 to 6 when inserting the 4th item, based on his implementation of insert ().
This is an amazing course! Although I had to tweak my code when watching the solutions, I was able to write a lot of the implementation myself based solely on the hints given and the theory behind the logic. I will most likely buy the course as I want to learn more about the other data structures. Thank you
Hi Mosh, I have learned a lot from you. Am thankful to you...just a quick question, How did you record your screen and yourself? Which software did you use? I would be thankful if you could let me know. Best wishes and regards
I think at 8:27 it should have been O(n+m). Because we could've a million size long string, as O(n) omits "m"(String size) it basically fails to measure the efficiency of the algorithm.
This course really helped clarifying some things i needed to know. Thanks a lot! (btw i also enrolled in the ultimate java and python courses and loved it!) Keep up the great work!
In Array class implementation, when array is full you create new array with a double size, what about remove elements? You must check, if size is less then half of current array size (or something like that) you must resize array
🚀 Get interview-ready with my full course: mosh.link/dsa-course
👍 Subscribe for more awesome content: goo.gl/6PYaGF
This is the most underrated course ever. Best resource to master data structure and algorithms...
'master, no' but certainly to get a basic understanding of big, ds and algo. you still get a thumbs up!
@@iamserda qqqqqqqqqqyhncf
@@renukaprincy1619 you OK?
For Mobile Users
0:00:00 Intro
0:01:04 What is Big O?
0:03:03 O(1)
0:04:32 O(n)
0:08:17 O(n^2)
0:10:41 O(log n)
0:13:20 O(2^n)
0:14:10 Space Complexity
0:17:53 Understanding Arrays
0:21:03 Working with Arrays
0:24:32 Exercise: Building an Array
0:27:24 Solution: Creating the Array Class
0:30:43 Solution: insert()
0:35:03 Solution: remove()
0:39:54 Solution: indexOf()
0:42:23 Dynamic Arrays
0:46:11 Linked Lists Introduction
0:46:41 What are Linked Lists?
0:51:16 Working with Linked Lists
0:54:40 Exercise: Building a Linked List
0:56:05 Solution: addLast()
1:02:15 Solution: addFirst()
1:04:28 Solution: indexOf()
1:06:23 Solution: contains()
1:07:28 Solution: removeFirst()
1:11:52 Solution: removeLast()
Thanks
Big help
you know mosh used to touch me, then force me to touch my sister back in syria?
Un
Thank you
39:03 in the removeAt() method the for loop's condition should be i < count - 1, because inside it's block you access items[i + 1] which in case where count == items.length will throw an ArrayIndexOutOfBounds exception. I know that count can't be equal to the length of the array because you resize it when that happens, but It is still a small mistake since your method will be dependent of your insert method so I decided I should mention it. Overall the video is very well made and explains everything with simple examples.
I'm only about a half-hour into this lesson, and I can already tell that it will be very helpful. I was trying to follow along with an eight-hour video posted by a Google engineer and was really struggling. Your approach to teaching this concept is working much better for me. Thank you for posting this video!
Just wanted to say how much I appreciate you as a teacher Mosh -- you communicate things so well and make math and computer science genuinely fun to learn
Im 5 yrs uinto professional programming, and what a shame, I had no clue about linked list. Thanks for this swift and useful tutorial.
Mosh is the one best computer science teacher in the world, i love your all the courses thanks for your hard working.
Mosh, in my internship over a year ago, I studied your course on React, built an awesome application, and won a lot of praise from my co-workers. I just got laid off (by the same company) and back to the job hunt. I'll check out this course. I have a lot of faith in your content! Thanks for making these for us.
@shreyas k I'm now working in FAANG so it turned out well!
@@elij8852 could you please share which courses did you take from mosh or any other source specially for react and ds and algo in java? for 2022
@@akshaysharma145 For sure. Since then I took his HTML/CSS, Git, and Redux courses
@@elij8852 can you please share your honest review? Also if you have taken ds and algo one?
Are all these courses up to date?
@@akshaysharma145 forgot about the DS and Algo one. I took that too. As far as I remember, they were all up to date when I took them, all within the last couple years. I thought they were all great, but looking back on the Redux course, I feel I could have just taken a look at the documentation to learn what I know
A huge thank you Mosh! You don't know how much I love to watch your videos. It's a strange matter in me that I am never satisfied by just good explanation, I also need to have nice presentations too! Just like the one you are having. Your videos are the just perfect blueprint of the kind of educational videos I always wanted to watch...once again, thanks mosh. You really get my back everytime I need to have such nice explanations of any topic!!❤️
for sure i had never saw such a teacher like you in this world ....... you are beyond the time
Huge thanks to you, I finally understand linked lists and how to work with them, before this I was struggling a lot with them. Now I understand them very well. You're amazing for giving us this for free.
I followed to here from the beginner’s course. The interactive part is the key. After doing the interactive exercises I was like aha I got it. Before that I read other’s code just fine, but cannot write one myself.
Dear mosh, your courses are the best I’ve ever taken, I never thought that Data structures and algorithms would be this easy, all thanks to you Mosh!
have you taken the paid ds and algo java course? is it worth buying to crack interviews?
@@akshaysharma145 I’m here waiting to get this answer too
@@akshaysharma145 is worth every penny.
@@julianbecerratellez6334 have you taken the course? Are all types of data structures along with important questions covered?
Mosh, you're an amazing tutor! TH-cam suggested me your design patterns lesson and from that moment I can't stop watching your videos. I'm also going to buy the whole courses from your website.
I would like to point out a correction (or rather an omission) on this video though. Although you correctly pointed out that the time complexity of removing the last item from a linked list is O(n), for the Java LinkedList is actually O(1) since it's implemented as a double linked-list.
Again, thank you for your awesome work!
ya you're right I was also thinking the same
But he said we consider the worst case always.So O(n) should be correct
@@kanchanvyas5490 For Java's implementation of LinkedList, the worst case for removing the last item is also constant O(1). Basically, it maintains a pointer to the last item of the list, and given that the list is implemented as double linked list it can access the item before last and easily remove the last item.
Mosh, I have bought this course on your website and let me just say - the way you teach how to create our own methods to manipulate arrays is exactly how my d.s. & a. class in school should have taught us but didn't! We are essentially learning how the original Java classes were developed from scratch with your course! SO COOL
BC
Even though Java allows bracketless single statement for loops, it's good practice to use brackets anyway. It's especially helpful in Pull Request reviews and manual resolving of merge conflicts.
I dont understand your last sentence at all, but I gave you a thumbs up anyway, because I find brackets really helpful.
Imagine you have a bracketless if statement somewhere in loop and you add another condition to that, be it by accident or through a merge conflict. what happens now is that instead of being executed only if the condition applies, it will be executed every time. This entire concept makes no sense, it makes the code incoherent and easy to break.
I'd be extremely cautios to take advise from someone who has such a coding style, that's what I am trying to say.
@@goodmanwiseman303 They're talking about collaborating on projects with Git.
Thank you Mosh. As I'm preparing for Software Engineer position interview with FAANG company, this is too essential to refresh my knowledge.
Thanks Mosh this is just what I needed to level up as a developer right now
I LOVE YOU FOR EXPLAINING IT WITH ANIMATIONS AND MAKE IT LOOK SUPER EASY. GOD BLESS YOU.WITHOUT UNDERSTANDING THE BASICS IT IS HARD TO MASTER THE DS AND ALGOS.
Sir mosh, you're way of teaching is best, I love to be as a your student.
You aren't just an amazing man you are wonderful with the meaning of the word.
A lot of thanks to you. Every single word is useful than you imagine
should make a series on more advanced data structures... like stacks, queues, generics, heaps, trees, graphs, etc.
@@vasachisenjubean5944 where?
@@dlengelkes I checked it but it's not free help plz !!
@@lama-tp9lh here is another course on youtube. th-cam.com/video/Qmt0QwzEmh0/w-d-xo.html
@@dlengelkes !! thanks for helping me
@@dlengelkes
can u send me your e-mail
You Explained Big O in the easiest way possible, Thanks M.
40:47 there is a small issue in the loop in the removeAt
(i< cout) == should be ==> (i< cout-1)
Yes exactly. But for him it ran fine with exceptions. How is that?
I was very struggling with why the binary search has log(n) complexity until I learned that CS uses logarithm base 2, unlike in math with 10. It all made sense after realizing that.
Not quite right, the base of the logarithm is defined by the nature of the algorithm. The logarithm can use different base depending upon the type of algorithm.
@@internetbscop5364 00
i feel sorry for those college professor who taught us like every thing about CS is difficult to understand. Mosh changed the game and made it to easy to understand every CS courses. we pay a lot for colleges for nthn but to stress our selves with exam with 0 knowledge. but with mosh we enjoyed the free courses and gain knldg with great presentation skill. we need 100 more of you in the tech world . THANK YOU!!
This video really helped me understand the linked list very easily. Thanks Mosh.
13 minutes of video have thought me more than 1 whole week coding at hackerrank or doing coding excercises to find the proper algorythm... you sir are a master of masters
speech delivery is perfect... no rapidly speech middle of video. awsome
Thank you Mosh !
Yo're so fluent in programming, very clear & easy to be understood, always positive and having fun while coding.
Mosh is simply a genius. His videos on programming concepts can be understood by ANYBODY
Having a basic knowledge of java and having a Data Structure course currently,
Im learning two Course at a time.
Thank you.
I bought the data structures course associated with this video...and if you plan on coding with Java, I highly recommend buying it
Programming with Mosh I’ve watched almost all of it. I’ve also purchase your python for developers, OOP in JS, and 2 of your C# courses. The way you teach is just so clear to me, and it helps me learn so much. Thank you sooo much Mosh!
Best explanatory videos for Introduction to Programming
Best way to get it started! I just love your tutorials Mosh . Hope you never stop posting your tutorials.
There's no better feeling than when an intimidating concept clicks. Thanks Mosh!
This tutorial from Mosh is really changed my mind to look towards Data Structures.A lot thanks and support to Mosh.Never find this kind of tutorial which is explained in more easy and detailed way. 🙌
What a rabbit hole to go down from using yaml to learning about structured data thanks for the vid definitely helpful
Even though i knew most of the concepts in this but learned some amazing things
Thank you mosh
Before starting the course
I wanted to know in which language is he teaching?
Is it DSA in C++?
@@sadiyanoorain9251 Java. If you are fluent in c++ look at abdul bari's DSA
@@deliveringIdeas Oh okay Thanks 😃😃😃
For the removeLast() method I suggest to use two pointers say current and next both initialized to first. And the while(next!=null) { current=next; next=next.next;} When the loop terminates the current points to the last node. This will no longer need the creation of the getPrevious() method.
I will finish my javascript course this week but I think I haven't really understand the logic. So I check out this video. Thanks for making such a wonderful tutorial Mosh!!
Very Perfect Java Programming Teaching Materials! Very Perfect Professors!
It is a great video.
A great tutorial.
There is a slight error in the addFirst method.
It is necessary to create the link between the first and second node.
I'm sure I'll buy the course. Congratulations!
Thank you a lot, I did all of this in c. I have been coding a while for hobby, but I never knew about big O & ...
I wish i could pay for a full course..... but i can't.... Thank you for the freebies you make available! well appreciated you are the best teacher i have had so far
I already have the course but I just came here to say that you are definitely more worth it than Joma-Tech charging $100 a year for his classes. Thank you for this awesome resource!
could you please share which courses did you take by mosh? also if the react course is worth buying in 2022 as the version mentioned is 16.2. And hows the ds and algo course?
Hi Mosh! Your videos are just awesome. I have my data structure exam after a month. So it is my humble request to pls upload video of trees,hash tables and AVL trees etc quickly so that I can prepare myself for the exam. The problem is that I cannot buy the course so pls help me in this regard. Thanks!
Excellent course. And I can't wait to learn further algorithms and data structure.
Brilliant Resources You Provide Mosh 👍 You are an Excellent Teacher!
I might be mistaken but the Array implementation will throw ArrayIndexOutOfBoundException when executing removeAt. When it reaches IndexOfLast - 1, it will try to access an invalid item of the array. The for loop should be "for (int i = index; i < count - 1; i++) " instead
Good explanations otherwise
I wish all of the professors out there be teaching like You are MOSH!!!!!
Excellent knowledge
Thank you
Thank you for you uploading...i am learning python and java through u r videos but what use for me I don't have any programming job but still learning 😂 but I like it...
Love the graphics - esp the coffee in the beginning! Content is always exceptional!I have the bundle :)
@@programmingwithmosh hi mosh can u make tutorials on javafx or java frameworks
I just got done asking my CS teacher does he have any sources for learning data structures he said to use the book, and then I get home to see this in my recommendations. Some thing aint adding up
i just woke up after dreaming of my school time and trying to understand why they taught us arrays before array list and then this is on my subscription list...
Prefer book instead of video.
@@rudranarayandash1466 I have not bought the book for this semester because we were just learning java and i had an old edition of what we needed but i am going to buy the book. The book we needed was "Introduction to Java Programming and Data Structures, Comprehensive Version, 11th Edition"
Google knows us better than our teachers
Easy. Google reads your mails, listens your phone conversations.
Sir mosh, your way of teaching is best
You have a great teaching style, Mosh! Now I have a clear concept of Big O notations.
Hey, , Mosh you really made coding simple thank you so much😊
Many many thanks for free helping.....
I'm speechless, you're god, It's hard to not understand what you explain to us !
Thanks sir
We all r waiting for this from a long time
Wow, I'm taking Data Structure in Java next semester and this will be very helpful! Thanks!
Are you going to be a programmer.?
Which university are you going?
@@rozdede I hope so! I'm attending at U of M.
Finally. I was waiting so long for this. Thank you so much once again mosh 😀
You are truly a treasure Mosh. I know it's been said before. I can only hear this from you.
You are awesome Mosh! Great tutorial.
Mosh, please make a course on "Design Patterns".
Thanks a lot mosh❤you cant imagine how much you have made our learning easy and efficient💘
even your voice is soothing and it gives me motivation to watch more
Mosh my Irani dadash, I love your tutorials!
The video haven't even started and I can feel my body relaxing
Well, that moment when you ask your parents for Christmas, a SUBSCRIPTION to watch Mosh courses. As soon as I saw you had a video about this topic. Instantly bought a subscription to your courses and told my parents it would be my christmas gift. :D Thanks this would be much appreciated since I am having troubles with how my teacher explain this at the university. Lots of variables with a,b,c,s,kmnnakfwofkvms and no real examples.
Now I can teach my students Java and can even Share this video with them. My age is 24 only. This video is much useful for me as a teacher.
@@programmingwithmosh we're can I watch Java for beginners?
Thank you , download full video.
Now I can watch everytime whenever I'm free
@@mohdabdulhameed2347 dont download it watch online that will help his channel to grow more.
Will this video help me learn what it takes to build an app?
Simply magnificent! Excellent explanation! Thank you Mosh!
Thank you tommorow my exam.... Thanks mosh...
I believe teaching is a wonderful gift from the Almighty , and you are blessed abundantly for sure . Amazing videos Mosh. I have been following urs for Python and now for DS .. Thanks!!
Awesome video! Thank you so much for making these videos. I'm going to purchase the full course.
I was just thinking about buying your course...and this popped up
This was simple and easy to follow.
Great tutorial! Thanks Mosh.
Thank you for your videos. You explain everything so well and clear. I hope to watch all of them :)
@39:03 Shouldn't that loop end at i < count-1 ? Alternatively, decrease the count with count-- **before** the loop...
Yes, I also noticed that
Yes, I noticed it, but if you are going to decrement the count it will thow an out of bounds exception if your array has a size of 1
@@redsantelices8498 No it won't. You'll get
for (int i = 0; i < 0; i++)
Then, the body of the loop will not be executed at all, which is what should happen.
@@landsgevaer oh, I meant if the array size is 0.
@@redsantelices8498 that is caught a few lines earlier where an error is thrown if index >= count. And actually, getting an error when removing an element from an empty list seems entirely justifiable... ;-)
This is so useful specially now that we students need to study and understand programming alone because of this pandemic. Thank you Mr. Mosh that u exist! You discuss data structure and algorithms better than my instructor. 😅 To more videos to watch! 😊
Best Python Tutorial on You Tube - Programming with Mosh
Best Java Tutorial on You Tube - Programming with Mosh
Best Data Structures in Java Tutorial on You Tube - Programming with Mosh
It is 100% worth watching!
You have very helpful, great tutorials
What an excellent video on Data structures and algorithms....
Dear Mosh! Get ready for 1M followers..
You are the best!
Hi Mosh, Your way of teaching is very beautiful. Keep creating such videos. I just want to point out one mistake in this video which I found while practicing the code. In your Arrays section, in "removeAt(int index)" method you have used for a loop as ,
for (int i = index; i < count; i++){
items[i] = items[i+1];
}
which will not work if you add 6 elements in the array and remove the last element from it. eg. in the Main class if you write :
array.insert(5);
array.insert(53);
array.insert(50);
array.insert(56);
array.insert(57);
array.insert(58);
array.removeAt(5);
Then, your code will give "ArrayIndexOutOfBoundException" (As the array is full and the count variable has been initialized to '6' and inside for loop you are trying to shift element at 6th index to 5th index. But at the 6th index element is not present, because the array is up to 5th index only).
If we replace that code with the below code it will work for all the cases.
for (int i = index; i < count-1; i++) {
items[i] = items[i+1];
}
Good observation Abhijit. Also, in the same removeat methond, after completing loop, count-- is added to remove last item which is still there. However count is just a tracker and does not really remove anything from Array. Because it is being used in Print method, it is giving impression that array does not include it. Please comment.
The reason Mosh's demo doesn't show the out of boundary error in this video is because the items actually has a size of 6. It just got the size doubled from initial 3 to 6 when inserting the 4th item, based on his implementation of insert ().
Hi Mosh, Make Data Structures and Algorithms video using Python, It would be easily understandable and your courses are great🤩
this is a great tutorial! I absolutely loved it.
This is an amazing course! Although I had to tweak my code when watching the solutions, I was able to write a lot of the implementation myself based solely on the hints given and the theory behind the logic. I will most likely buy the course as I want to learn more about the other data structures. Thank you
Hi Mosh, I have learned a lot from you. Am thankful to you...just a quick question, How did you record your screen and yourself? Which software did you use? I would be thankful if you could let me know. Best wishes and regards
I bought the course. Awesome teaching!
Super cool explanation, I think this is the best video that explains time complexity concepts so easy. I wish you were my engineering professor :)
I think at 8:27 it should have been O(n+m). Because we could've a million size long string, as O(n) omits "m"(String size) it basically fails to measure the efficiency of the algorithm.
This course really helped clarifying some things i needed to know. Thanks a lot! (btw i also enrolled in the ultimate java and python courses and loved it!) Keep up the great work!
could you please share your review about the ds and algo course on the website?
You Are the Great Sir You really Make the thing easy... Thank You sir that is the First Time I understand that what is DataStructure
This was really helpful thx!
Hello From Iran
In Array class implementation, when array is full you create new array with a double size, what about remove elements? You must check, if size is less then half of current array size (or something like that) you must resize array