Good tutorial for learning data structures using Java. Is not strictly limited by the queries listed above or by a single data set. Well, the real point behind me asking, is why are there no books on "datastructures and algorithms" in C , but there are tons in Java. Jun 29, - I find this book is easy to follow. On the contrary, structures populated by different data sets can often be combined to process complex queries and other types of queries can be supported by using customized versions of the described algorithms. RecursiveBalance r.
|Published (Last):||5 November 2016|
|PDF File Size:||13.16 Mb|
|ePub File Size:||17.76 Mb|
|Price:||Free* [*Free Regsitration Required]|
You are expected to know and remember the material from CSCI. Assignments There will be two different types of assignments in this course: homework assignments and programming assignments.
In general, they will be due one week after they are given. They will not require you to submit complete programs, although it might be beneficial for you to write code and run it yourself to check correctness of your answers. The homework assignments will be graded out of 6 points. You will receive one 1 point for each question just for attempting to answer it if you write anything that seems to be related to what the question asks for.
You will receive two 2 points for each question answered correctly or nearly correctly. The complete solutions to the problems will be provided during the recitations they will not be posted on the website so make sure you attend the recitations. The types of questions will be similar to the ones that you will see on the midterm and final exams.
In general, they will be due two-three weeks after they are assigned. The programming projects will require you to submit programs consisting of several classes that may take several days to design, develop and test.
You should start working on these as soon as they are given. The programming projects will be graded out of points. Late and missed assignments: Homework assignments: Late homework assignments will not be accepted.
The lowest grade on the homework assignment will be dropped. Programming projects: You get one "freebie" programming project - you can hand it in up to one week late without penalty. Make sure you save the "freebie" for when you really need it. Any other projects that are not submitted on time, have to be submitted within two days 48 hours after the original due date.
Broken programming projects: If you hand in a program that does not compile or crashes when it is run, you will get a grade of zero on it so it might be worth your while to submit it two days late and fix it, rather than submit a broken program on time. Challenging an assignment or a project grade: You can challenge your grade on any assignment or project. To do so, you need to come to see me during the office hours, or schedule an appointment. Academic Integrity Policy I use MOSS a system for detecting software plagiarism to make sure that the submitted assignments are not duplicates of one another.
Your code has to be your own. You may discuss any of the assignments with your classmates or anyone else but all work for all assignments must be entirely your own unless a group project is specifically assigned. Any sharing or copying of assignments will be considered cheating. By the rules of the College of Arts and Science, I am required to report any incidents of cheating to the department. If you have any doubt if something that you are doing qualifies as academic dishonesty, talk to me!
Exams There will be a midterm and a final exam. All exams are cumulative, although they will have larger emphasis on the new material covered since the previous exam. On all exams you will get to choose which questions one or two you do not wish to answer. There will be no extra credit for answering all questions.
Missing an exam: There will be no make-up exams. Failure to take an exam counts as a zero grade on that exam. The only exception to this rule is for students who have a legitimate medical or personal emergency documented. These students need to talk to me as soon as possible trying to excuse an exam absence three weeks after it happened will not work.
The type of questions you should expect to see on the exams is the same type of questions you will see on homework assignments. Topics Covered This is a tentative list of the topics and their order: Intro to the course.
Object oriented programming in Java: classes, objects, Inheritance, polymorphism. Reading: Class notes, DJW ch. Reading: DJW ch. Exception handling. Reading: Class notes, Liang book. Merge sort, quick sort optional and performance analysis.
Dale, Joyce, Weems, chapter 10 Exception handling. Writing your own exception classes. Catching ALL possible exceptions. Sorting: review of quadratic sort algorithms. Searching: sorted and unsorted data. Generic methods in context of sorting.
Merging two generic arrays. Reading: Class notes. Merge sort, quicksort. Array-based implementation of lists, stack and queue. Reading list: class notes. Linked list based implementation of lists, stack and queue. Advantages and disadvantages as compared to array-based implementation. Reading: class notes Trees: different types of trees, different types of traversals.
Dale, Joyce, Weems, section Dale, Joyce, Weems, section 8. Dale, Joyce, Weems, chapter 9 Final Exam.
Data Structures And Algorithms Using Java – Paperback – (December 31, 2008)
Data Structures and Algorithms Using Java book by William McAllister online