1 / 22

Introduction to Data Structure and algorithm Design

Introduction to Data Structure and algorithm Design. School of Computer Science, Fudan UnivERSITY Wu Yonghui. Contents. Goal for the Course Ideas for the Course Introduction to the Course. Goal for the Course. Goal

hibbard
Download Presentation

Introduction to Data Structure and algorithm Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Data Structure and algorithm Design School of Computer Science, FudanUnivERSITY Wu Yonghui

  2. Contents • Goal for the Course • Ideas for the Course • Introduction to the Course

  3. Goal for the Course • Goal • Polishing Students’ Programming Skills Solving Problems with Data Structures and Algorithms

  4. Data Structures • Data structuresare ways of organizing data in programs to represent the real world • Integer, Real, Character, Array, Struct, Pointer • Linear List, Tree, Graph

  5. Algorithms • Methods solving problems by programming

  6. Pushing Boxes:PUSHingthe box to the target cell

  7. Pushing Boxes:PUSHing the box to the target cell • A two-dimensional maze composed of square cells which may or may not be filled with rock • You can move north, south, east or west one cell at a step • A box can be pushed to an adjacent free cell • Data Structure: How to represent it in a program? • Algorithm: How to solve it by programming?

  8. Ideas for the course • Programming Knowledge System and Programming Strategies Solving Problems • Programming is a Technology • Programming Contests’ Problems used in the Course

  9. Programming Knowledge System and Programming Strategies Solving Problems • A person’s professional ability • Programming Knowledge System and Programming Strategies Solving Problems

  10. Programming Knowledge System and Programming Strategies Solving Problems • The programming knowledge system can be summarized as a famous formula: “Algorithms + Data Structures = Programs”. It is also the foundation for knowledge system of computer science and engineering. • Strategies solving problems are strategies for data modeling and algorithm design. When data models and algorithms for problems are not standard, what strategies we should take to solve these problems.

  11. Pushing Boxes:PUSHing the box to the target cell • Data Structures: Graph, Queue • Algorithm: • Your pushing the box; • Your walking to the cell where you can push the box;

  12. Programming is a Technology • [1] Practice, practice, practice ! • [2] Practice in a systematic way (with test data, solutions, and analysis ; based on programming knowledge system and programming strategies)

  13. Programming Contests’ Problems • Programming Contests: • Contests Solving Problems by Programming • Programming Contests’ Problems: • Problem Description • Input • Output • Sample Input • Sample Output • Input==>Program==>Output • A program is accepted if and only if it passes all test cases.

  14. Introduction to the Course • the Series of “for Collegiate Programming Contests and Education” • Data Structure Practice: for Collegiate Programming Contests and Education

  15. the Series of “for Collegiate Programming Contest and Education”

  16. Data Structure Practice: for Collegiate Programming Contests and Education

  17. Used not only as an experiment book, but also for systematic programming contests’ training • 4 Sections, 14 chapters, 200 programming contest problems • Contents: • Section1 Fundamental Programming Skills • Section2 Experiments for Linear Lists • Section3 Experiments for Trees • Section4 Experiments for Graphs

  18. Characters of the book • (1) Programming contest problems are used as experiments and homework. • (2) Not only analyses and solutions, or hints to problems are showed, but also test data for most of problems are provided. Sources and IDs for Online Judge for these problems are also given.

  19. Courses & Experiments • [1] Introducing Knowledge Background • [2] Reading the Problem, thinking how to solve it • [3] Introducing Analysis • [4] Solving Problems by Programming (Experiments or Homeworks)

  20. Online Judge systems for problems in my book

  21. YonghuiWu’s email: yhwu@fudan.edu.cn

More Related