Algorithms
and
Data Structures
Lonce Wyse
KTH Learning Presentation
lonce.wyse@cnm.nus.sg
What we will cover
-
Abstract lists and structures
- lists, stacks, queues, trees, graphs
- Complexity measures
- Sorting algorithm
- Algorithm Design
Why?
-
Critical such computer areas as :
- Graphics and Games
- System Design
- Networking
-
Today, every science is data science
- Computational Biology (structure modeling)
- Smart Cities (scheduling, mapping)
- Simulation/Visualization
- Social Science (big data)
Course Structure
- 1 hour/week lecture
-
2-hour/week lab
- group challenges
- open discussion with tutor support
- Last 45 minutes for student presentations
-
Outside class
- Reading, video, on-line tutorial
- Weekly assignment
Weekly Assignments
-
Coding and writing
- Handed in through the LMS
-
All assignments submitted on-line
- Must run
-
Must be supported with documentation
- in addition, and within code
-
Most assignments may be done in *pairs*
-
Colocated or networked
- e.g. Sublime + floobits
-
Colocated or networked
Grading
-
Weekly assignments
- 40%
-
Lab work (group)
- 20%
-
Midterm & Final
- 20% & 20%
Resources
- Your fellow students
- Your fellow students
-
Course LMS site
- syllabus
- pointers to additional (optional) reading source
- Forums (electronic version of "your fellow students"
- Facilitator (me) and tutor office hourse
What is so important about structures?
Haven't we discovered which one is best yet?
Form and Function
http://www.archdaily.com/tag/singapore/page/11/
http://3blmedia.com/News/AECOMs-Safety-Culture-Pays-Abu-Dhabi-International-Airport
Designing Data Structures
-
Efficiency
- Time
- Space
Dependent on context
Common operations
-
Access a particular element
- search
-
Insert a new data element
- modify
- Sort
Data Structure Examples
- "Node" : Data & Pointers
- Linked list
- Binary tree
How long to find a particular node
(worst case) as a function of the side of the data (n) ?
Double data size
How long to find a particular node
(worst case) as a function of the side of the data (n) ?
Double data size
new node
Complexity & the Big-O
How algorithm complexity grows with data size
"Order"
See you in the lab!
See you in the lab!
Copy of Software and Freedom
By lonce
Copy of Software and Freedom
A brief overview of audio synthesis fundamentals, and how to create interactive audio on the Web.
- 300