ผลต่างระหว่างรุ่นของ "01204212-59"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) (→Tasks) |
Jittat (คุย | มีส่วนร่วม) |
||
(ไม่แสดง 37 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน) | |||
แถว 4: | แถว 4: | ||
* The book for the course: [https://www.gitbook.com/book/jittat/dsbook-concrete-to-abstract/details Data Structures] (more material as we go) | * The book for the course: [https://www.gitbook.com/book/jittat/dsbook-concrete-to-abstract/details Data Structures] (more material as we go) | ||
+ | |||
+ | == Topic list == | ||
+ | * 11-sep: | ||
+ | ** Sample task: nearest neighbor search, searching in arrays | ||
+ | * 18-sep: | ||
+ | ** Sample task: nested comment reporting, iterative solution, recursive solution | ||
+ | * 25-sep: | ||
+ | ** List abstract data type | ||
+ | ** Array implementation of list adt | ||
+ | ** Linked lists (using only list nodes) | ||
+ | * 1-sep: | ||
+ | ** Linked list class | ||
+ | ** The iterator pattern | ||
+ | ** Generic data structures | ||
+ | ** Running time analysis | ||
+ | * 8-sep: | ||
+ | ** Queues and stacks | ||
+ | ** Java Queue interface and Stack class | ||
+ | ** Implementations of queues and stacks with linked lists | ||
+ | * 15-sep: | ||
+ | ** Recursion | ||
+ | ** Java List collection | ||
+ | ** Recursive versions of insertion sort and selection sort | ||
+ | * 22-sep: | ||
+ | ** Set and map abstract data types: Set and Map interfaces (with two implementations hash map & tree map) | ||
+ | ** Binary search | ||
+ | ** Static sets and maps implementation with binary search | ||
+ | * 6-Oct: | ||
+ | ** Binary search trees | ||
+ | * 13-Oct: | ||
+ | ** Running time analysis/Big-O notation (formal) | ||
+ | ** Balanced binary search trees (AVL trees) | ||
+ | * 3-Nov: | ||
+ | ** Priority queues | ||
+ | ** Binary heap | ||
+ | ** Heap sort | ||
+ | * 10-Nov: | ||
+ | ** Sorting 2: quicksort and mergesort | ||
+ | * 17-Nov: | ||
+ | ** Hashing | ||
+ | * 24-Nov: | ||
+ | ** Hashing 2 | ||
+ | ** Intro to graphs | ||
+ | * 1-Dec: | ||
+ | ** Deletion & Lazy deletion | ||
+ | ** Graph representation | ||
+ | ** Breadth-first search | ||
== Tasks == | == Tasks == | ||
แถว 15: | แถว 62: | ||
** Recursive practice [[01204212/recur]] | ** Recursive practice [[01204212/recur]] | ||
** Sorting tasks: [[01204212/integer sorting|Integer sorting]] | ** Sorting tasks: [[01204212/integer sorting|Integer sorting]] | ||
+ | * Sets and maps: [[01204212/id request|ID Request]], [[01204212/like|Like count]], [[01204212/resistors|Resistors]] | ||
+ | * Priority queues: [http://theory.cpe.ku.ac.th/~jittat/courses/01204212/tasks/icecream/icecream3.pdf icecream shop 3], [http://theory.cpe.ku.ac.th/~jittat/courses/01204212/tasks/icecream/icecream4.pdf icecream shop 4] | ||
+ | ** [[01204212/icecream|Codes and links]] | ||
+ | ** Test data: [http://theory.cpe.ku.ac.th/~jittat/courses/01204212/tasks/icecream/3 icecream3], [http://theory.cpe.ku.ac.th/~jittat/courses/01204212/tasks/icecream/4 icecream4] | ||
+ | * Sorting 2 [[01204212/integer_sorting#More_codes|More code from integer sorting]] | ||
+ | * Hash tables: | ||
+ | ** [[01204212/spreadsheet|Spreadsheet]] | ||
+ | ** [[01204212/scores|Scores]] | ||
+ | * Graphs | ||
+ | ** [[01204212/friends|Friends]] | ||
+ | ** [[01204212/river crossing puzzle|River crossing puzzle]] | ||
== Homework == | == Homework == | ||
แถว 23: | แถว 81: | ||
*** Send two separate emails, each for one of the problem | *** Send two separate emails, each for one of the problem | ||
*** For each problem, attach all your java files and send me an email with the subject "01204212 homework 2 jobqueue (58xxxxxxxx)" or "01204212 homework 2 expr (58xxxxxxxx)" | *** For each problem, attach all your java files and send me an email with the subject "01204212 homework 2 jobqueue (58xxxxxxxx)" or "01204212 homework 2 expr (58xxxxxxxx)" | ||
+ | * Homework 3 (out: Nov-12, due: Nov-19): [[01204212/homework/sorting|Sorting election 2012 results]] | ||
+ | ** How to submit: send an email to me with all your java files attached. Use "01204212 homework 3 sorting (58xxxxxxxx)" as the subject (replace xxx with your id). | ||
+ | * Homework 4 (out: Nov-24, due: Dec-1): [[01204212/homework/top scores|Top scores]] | ||
+ | ** How to submit: send an email to me with all your java files attached. Use "01204212 homework 4 top scores (58xxxxxxxx)" as the subject (replace xxx with your id). | ||
+ | * Homework 5 (out: Nov-30, due: Dec-4): [http://theory.cpe.ku.ac.th/wiki/images/204212_mid_webcache.pdf Web cache] | ||
+ | ** You can use any Java collection library (e.g., [https://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html LinkedList], [https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html HashMap], or [https://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html TreeMap]). So don't waste time implementing your own data structures. | ||
+ | ** How to submit: send an email to me with all your java files attached. Use "01204212 homework 5 web cache (58xxxxxxxx)" as the subject | ||
+ | * Homework 6 (out: Dec-5, due: extended to Dec-14 <del>Dec-12</del>): [[01204212/homework/maze|Maze]] | ||
+ | ** You can use any Java collection library So don't waste time implementing your own data structures. | ||
+ | ** How to submit: send an email to me with all your java files attached. Use "01204212 homework 6 maze (58xxxxxxxx)" as the subject | ||
== Codes == | == Codes == |
รุ่นแก้ไขปัจจุบันเมื่อ 03:30, 11 ธันวาคม 2559
This is the course materials for 01204212 Abstract Data Types and Problem Solving, section 450.
เนื้อหา
Materials
- The book for the course: Data Structures (more material as we go)
Topic list
- 11-sep:
- Sample task: nearest neighbor search, searching in arrays
- 18-sep:
- Sample task: nested comment reporting, iterative solution, recursive solution
- 25-sep:
- List abstract data type
- Array implementation of list adt
- Linked lists (using only list nodes)
- 1-sep:
- Linked list class
- The iterator pattern
- Generic data structures
- Running time analysis
- 8-sep:
- Queues and stacks
- Java Queue interface and Stack class
- Implementations of queues and stacks with linked lists
- 15-sep:
- Recursion
- Java List collection
- Recursive versions of insertion sort and selection sort
- 22-sep:
- Set and map abstract data types: Set and Map interfaces (with two implementations hash map & tree map)
- Binary search
- Static sets and maps implementation with binary search
- 6-Oct:
- Binary search trees
- 13-Oct:
- Running time analysis/Big-O notation (formal)
- Balanced binary search trees (AVL trees)
- 3-Nov:
- Priority queues
- Binary heap
- Heap sort
- 10-Nov:
- Sorting 2: quicksort and mergesort
- 17-Nov:
- Hashing
- 24-Nov:
- Hashing 2
- Intro to graphs
- 1-Dec:
- Deletion & Lazy deletion
- Graph representation
- Breadth-first search
Tasks
- Introduction: Nearby Search, Statuses
- Lists: Zooma 1, Zooma 2, Zooma 3
- Stacks and queues: Job queue, Parentheses, Expressions
- Java collections:
- Queues interface Queue<E>, short descriptions and examples
- Stacks class Stack<E>
- Java collections:
- Sorting 1
- Recursive practice 01204212/recur
- Sorting tasks: Integer sorting
- Sets and maps: ID Request, Like count, Resistors
- Priority queues: icecream shop 3, icecream shop 4
- Codes and links
- Test data: icecream3, icecream4
- Sorting 2 More code from integer sorting
- Hash tables:
- Graphs
Homework
- Homework 1 (due: Aug-7): Zooma 2
- Homework 2 (due: Aug-16): Job queue 2, Expressions
- Notes: In this homework, you must use your own implementation of queues and stacks based on our linked list implementation. You can start with stack and queue implementations that use this linked list implementation. Note that a few methods are left out, so you need to write your own version of them.
- How to submit
- Send two separate emails, each for one of the problem
- For each problem, attach all your java files and send me an email with the subject "01204212 homework 2 jobqueue (58xxxxxxxx)" or "01204212 homework 2 expr (58xxxxxxxx)"
- Homework 3 (out: Nov-12, due: Nov-19): Sorting election 2012 results
- How to submit: send an email to me with all your java files attached. Use "01204212 homework 3 sorting (58xxxxxxxx)" as the subject (replace xxx with your id).
- Homework 4 (out: Nov-24, due: Dec-1): Top scores
- How to submit: send an email to me with all your java files attached. Use "01204212 homework 4 top scores (58xxxxxxxx)" as the subject (replace xxx with your id).
- Homework 5 (out: Nov-30, due: Dec-4): Web cache
- You can use any Java collection library (e.g., LinkedList, HashMap, or TreeMap). So don't waste time implementing your own data structures.
- How to submit: send an email to me with all your java files attached. Use "01204212 homework 5 web cache (58xxxxxxxx)" as the subject
- Homework 6 (out: Dec-5, due: extended to Dec-14
Dec-12): Maze- You can use any Java collection library So don't waste time implementing your own data structures.
- How to submit: send an email to me with all your java files attached. Use "01204212 homework 6 maze (58xxxxxxxx)" as the subject
Codes
These are codes that you may or may not need.