Follow the links to the resources. If multiple videos/links are given in same point choose the ones that suits you.
-
Basic Java for Beginners -Here, in this tutorial they have used Intelij -IDE for explaining Java, but in our project we won't use any type of IDE, we will be using simple text editor(like VS-Code). Don't worry about it, we mentors will explain you how to use VS-Code. Right now, all of you just learn the basics of how to code in java.
-
Assignments:
The recusion is one of the very interesting topic in DSA, and very-difficult to undersand at it's the application level. So, practice more and more questions on this topic. ATTEND SESSIONS REGULARLY, as mentors will be explaining most of the topics, for better understanding of concepts.
-
System-Stack Memory and Recursive Calls (Video: Explaining with an example)
-
Concept of Divide-&-Conquer Algo (along with Basic Problems)
-
Assignments:
-
Extra Questions on Recursion If anyone want to do more questions, on his/her own.
-
Assignments;
-
Priority Queue (Video)
-
Assignments:
This week's topic is Time-Complexity Analysis, and this week doesn't contain any coding assignment. Just there are set of MCQ type questions on InterviewBit (last link), you have to complete this content till Tuesday (21 July).
-
Time Complexity Analysis (Playlist about how to find time-complexity over the codes)
-
InterviewBit Complexity Assesment (Complete the tutorial, and then go for MCQs.
This week's topics are Searching and Sorting. We will be learning 7 types of sorting and their time-complexity analysis, i.e Bubble sort, Selection sort, Insertion sort, Merge Sort, Quick Sort and Heap Sort. Do join the sessions, as we will be coding all the Sorting algos there along with explanation.
All of these tutorials will explain you pseudo code and some might show actual code(written in cpp), but we have to consider only pseudo code and write our code in java using pseudo code. This will increase your ability to convert a given approach into code.
-
Introduction to Sorting (Video)
-
Selection Sort (Video: Explanation along with pseudo code)
-
Bubble Sort (Video: Explanation along with Pseudo code)
-
Insertion Sort (Video: Explanation along with Pseudo code)
-
Merge Sort (Video: Explanation with Pseudo code)
-
Merge Sort complexity analysis (Video)
-
Quick Sort (Video: Explanation with Pseudo code)
-
Quick Sort complexity analysis (Video)
-
Heap Sort (Video: Explanation with approach) This will be difficult topic, We will surely be doing this in session.
-
Summarisation and Sorting in java (Blog: 20mins read)
-
Assignments: This week's assignment will be to code every Sorting algorithm listed above, and submit in Week5's YOUR_NAME folder over gitHub.
This week's topic is Tree Data-Structure.