Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
CITS2200 Data Structures and Algorithms
Topic 1
Welcome
Dr. Luigi Barone
Room 2.12
luigi@csse.uwa.edu.au
Dr. Rowan Davies
Room 2.16
rowan@csse.uwa.edu.au
A unit about space, time, and integrity .
c© Cara MacNish & Tim French CITS2200 Welcome Slide 1
Handbook Description
At the core of most computer applications is the storage and retrieval of information.
The way that the stored data is structured has a strong impact on what can be
retrieved , how quickly it can be retrieved , and how much space it occupies. The
use of generic structures, or abstract data types (ADTs), to encapsulate the data
also allows software engineering principles of independent modification, extension
and reuse.
This unit studies the specification, implementations and time and space performance
of a range of commonly-used ADTs and corresponding algorithms in an object-
oriented setting. The aim is to provide students with the background needed both
to implement their own ADTs where necessary, and to select and use appropriate
ADTs from object-oriented libraries where suitable.
c© Cara MacNish & Tim French CITS2200 Welcome Slide 2
This Lecture
• Introductory information — teaching sessions, teaching staff, assessment, lab
rules, unit software, on-line resources, teaching and learning agreement
• Introduction to ADT’s
Wikipedia disambiguation:
1. Abstract data type: a computer programming term
2. Asynchronous data transfer: a method of transferring data
3. Automatic double tracking: an audio recording technology invented for
The Beatles
4. American Discovery Trail: a coast-to-coast hiking trail across the mid-tier
of the United States.
5. Average Daily Traffic: to show the volume of traffic on a road in trans-
portation planning
6. Active Denial Technology: also known as the pain ray
c© Cara MacNish & Tim French CITS2200 Welcome Slide 3
Timetable
• Lectures
– 2pm-3pm Tuesdays, Webb Lecture Theatre
– 10pm-11am Fridays, Gentilli Lecture Theatre
• Tutorials
– 2pm-3pm Thursdays, Engineering Lecture Theatre 1
• Laboratories
– 10am-12pm Thursdays, CSSE Lab 2.01
– 12pm-2pm Thursdays, CSSE Lab 2.01
– 3pm-5pm Thursdays, CSSE Lab 2.01
– Only the hours 12noon-1pm and 3pm-4pm are supervised
• Consultation
– Luigi: 3pm-5pm Tuesdays, CSSE Room 2.12
– Rowan: 2pm-4pm Mondays, CSSE Room 2.16
c© Cara MacNish & Tim French CITS2200 Welcome Slide 4
Help Forum
Aside from the aforementioned activities, you may also get help via the help2200
electronic forum — a public discussion board for all queries relating to the unit.
Assessment
Assessment Date % of Final Mark
Laboratory work Selected weeks, starting Week 4 10%
Mid-semester test Tuesday, Week 8 10%
Project Weeks 10-13 20%
Final examination June examination period 60%
References
Cara MacNish & Tim French, Data Structures and Algorithms Notes, 2008.
c© Cara MacNish & Tim French CITS2200 Welcome Slide 5
Further Reading
There are many different books on the subject of data structures as well as books
on the subject of Java, including some which combine the two. A few examples of
books worth looking at include:
Kenneth Lambert and Martin Osborne, Java: A Framework for Program Design
and Data Structures, 2nd Ed, Thomson, 2004 (previous textbook).
Thomas Cormen, Charles Leiserson, Ronald Rivest and Clifford Stein, Introduction
to Algorithms, 3rd Ed, MIT Press, 2009 (CITS3210 textbook).
Sartaj Sahni, Data Structures, Algorithms, and Applications in Java, McGraw Hill,
2000.
Mark Weiss, Data Structures and Problem Solving using Java, Addison Wesley,
1998.
Mark Weiss, Data Structures and Algorithm Analysis in Java, Addison Wesley, 1999.
Adam Drozdek, Data Structures and Algorithms in Java, Thomson, 2005.
c© Cara MacNish & Tim French CITS2200 Welcome Slide 6
Michael Gooodrich and Roberto Tamassia, Data Structures & Algorithms in Java,
Wiley, 1998.
Robert Lafore, Data Structures and Algorithms in Java, Wiley, 2005.
Janet Prichard and Frank Carrano, Data Abstraction & Problem Solving with Java:
Walls & Mirrors, 3rd Ed, Addison Wesley, 2011.
c© Cara MacNish & Tim French CITS2200 Welcome Slide 7
Topics Of Study
We will study the following topics this semester:
1. Introduction 2. Java Revision
3. Recursive Data Structures 4. Abstract Data Types
5. Queues and Stacks 6. Complexity Analysis
7. Objects and Iterators 8. Lists
9. Maps and Binary Search 10. Trees
11. Sets, Tables, and Dictionaries 12. Priority Queues
13. Hash Tables 14. Revision
c© Cara MacNish & Tim French CITS2200 Welcome Slide 8
What You Should Do This Week
1. Get set up to use the School’s Computer Systems:
https://secure.csse.uwa.edu.au/run/csentry?pw1=yes
2. Begin to familiarise yourself with the Unit’s web site.
3. Have a go at An Introduction to MacOSX and the first labsheet.
4. Start brushing up your Java in preparation.
Laboratory and tutorial classes start Thursday, Week 2.
c© Cara MacNish & Tim French CITS2200 Welcome Slide 9