Data Structure and Algorithms

ARAI, Masayuki
  Elective  2 credits
【Information Science Correspondence Course・I/III】
19-1-1665-2560

1.
Outline
We will learn the followings:
(1) Complexity: time complexity, space complexity
(2) Basic data structures: list, stack, queue, tree
(3) Basic algorithms: searching, sorting, graph, pattern matching
(4) Designing algorithms: recursion, dynamic programming, backtracking
This course is related to DP2.
2.
Objectives
The aim of this course is to comprehend basic data structures and algorithms. The learners have to master the methods of analyzing and designing algorithms and should acquire the ability to apply basic techniques to actual problems.
3.
Grading Policy
The learners must submit two reports. After two reports are accepted, the learners can take an exam and are evaluated by the exam. The learners can get feedback from the reports in which professors write comments.
4.
Textbook and Reference
Masayuki Arai: "Data Structures and Algorithm using Java Applet," Kyoritsu Shupppan, 2008.
5.
Requirements (Assignments)
The class proceeds according to contents of the textbook.
The learners must read the part of the textbook carefully then confirm concept of each class's keywords before class (1.5 hours), and take exercises written in the end of the section after the class (1.5 hours).

6.
Note
Not only reading the textbook, but learners should write programs to reconfirm the contents.
Please install Eclipse and JDK in your computers.
7.
Schedule
1. The relationship between algorithm and data structures
2. Time and space complexity
3. Basic data structure (1) : Array
4. Basic data structure (2) : Class
5. Basic data structure (3) : List
6. Basic data structure (4) : Stack and data structures written in Java,
7. Basic data structure (5) : Tree structure
8. Basic data structure (6) : Balanced tree (1)
9. Basic data structure (7) : Balanced tree (2)
10. Basic data structure (8) : Heap
11. Search algorithm (1) : Linear searching, binary searching, and depth first searching
12. Search algorithm (2) : Width first searching, backtracking and hash
13. String matching algorithm : Knuth-Morris-Pratt method, Boyer-Moore method, and recursion
14. Sort algorithm : Simple sort, bubble sort, and quick sort
15. Summarization and examination
1.
Outline
We will learn the followings:
(1) Complexity: time complexity, space complexity
(2) Basic data structures: list, stack, queue, tree
(3) Basic algorithms: searching, sorting, graph, pattern matching
(4) Designing algorithms: recursion, dynamic programming, backtracking
This course is related to DP2.
2.
Objectives
The aim of this course is to comprehend basic data structures and algorithms. The learners have to master the methods of analyzing and designing algorithms and should acquire the ability to apply basic techniques to actual problems.
3.
Grading Policy
The learners must submit two reports. After two reports are accepted, the learners can take an exam and are evaluated by the exam. The learners can get feedback from the reports in which professors write comments.
4.
Textbook and Reference
Masayuki Arai: "Data Structures and Algorithm using Java Applet," Kyoritsu Shupppan, 2008.
5.
Requirements (Assignments)
The class proceeds according to contents of the textbook.
The learners must read the part of the textbook carefully then confirm concept of each class's keywords before class (1.5 hours), and take exercises written in the end of the section after the class (1.5 hours).

6.
Note
Not only reading the textbook, but learners should write programs to reconfirm the contents.
Please install Eclipse and JDK in your computers.
7.
Schedule
1. The relationship between algorithm and data structures
2. Time and space complexity
3. Basic data structure (1) : Array
4. Basic data structure (2) : Class
5. Basic data structure (3) : List
6. Basic data structure (4) : Stack and data structures written in Java,
7. Basic data structure (5) : Tree structure
8. Basic data structure (6) : Balanced tree (1)
9. Basic data structure (7) : Balanced tree (2)
10. Basic data structure (8) : Heap
11. Search algorithm (1) : Linear searching, binary searching, and depth first searching
12. Search algorithm (2) : Width first searching, backtracking and hash
13. String matching algorithm : Knuth-Morris-Pratt method, Boyer-Moore method, and recursion
14. Sort algorithm : Simple sort, bubble sort, and quick sort
15. Summarization and examination