Candidates can get Best Data Structures and Algorithms Made Books 2018 also a Top List of Main Study Materials for 2017-2018 entrance exam in India.
Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles
by Narasimha Karumanchi
This course covers the modern theory of algorithms, focusing on the themes of efficient algorithms and intractable problems. The course goal is to provide a solid background in algorithms for computer science students, in preparation either for a job in industry or for more advanced courses at the graduate level. I strongly encourage mathematicians, biologists, physicists, and people from other concentrations to take the course as well.
Besides introducing the basic language and tools for algorithm analysis, we will also cover several specific problems and general design paradigms. Toward the end of the quarter, we will also examine heuristic techniques often used in practice, even though in many cases formal theoretical results are not known.
We will focus on the theoretical and mathematical aspects in class and on the homework assignments. But because one gains a deeper understanding of algorithms from actually implementing them, the course will include a substantial programming component. More details will be available when the first programming assignment is given.
As you can see from the preliminary list of topics (included below), we will be covering a great deal. I expect the course to be challenging, both in terms of the workload and the difficulty of the material. You should be prepared to do a lot of work outside of class. The payoff will be that you will learn a lot of both useful and interesting things.
Students should be able to program in a standard programming language; C or C++ is preferred (but not mandatory). Some mathematical maturity also will be expected; students should have some idea of what constitutes a mathematical proof and how to write one. Some knowledge of basic probability will also be helpful.
Your performance will be measured in four ways. (The percentage contributions to your grade given below are approximate and subject to change.)
- Problem sets (30%): There will (likely) be five problem sets. [We may experiment with more, but shorter, problem sets this year.] They will generally be due one week after they are given out. These sets will primarily be mathematical and/or theoretical in nature. These assignments are governed by the collaboration policy, given below.
- Programming assignments (20%): There will be 3 programming assignments. For these assignments you may work with another student if you choose. You may not work with the same partner on all 3 assignments. Note that working in pairs is not mandatory. Generally you will have two weeks for programming assignments. You must electronically submit your code and your write ups.
- Midterm Exam (20%): There will be one exam approximately 1/2 of the way through the course.
- Final Exam (30%): There will be a final exam.
All assignments will be due at the beginning of class on the appropriate day. Assignments will not be accepted late with the exception of medical emergencies or similar exceptional circumstances that must be discussed in advance with the instructor. Please remember it is better to turn in an incomplete assignment rather than no assignment. (Some students somehow would not rather turn in an incomplete assignment, which makes no actual sense.) All assignments should be turned in electronically, as pdf or text files. You should have a scanner available, or be familiar with LaTeX, or otherwise be ready to deal with turning in pdfs of mathemetical work. (LaTeX is highly, highly recommended)