We may earn an affiliate commission when you visit our partners.
Course image
Junhui Deng

Data structures play a central role in computer science and are the cornerstones of efficient algorithms. Knowledge in this area has been at the kernel of related curriculums. This course aims at exploring the principles and methods in the design and implementation of various data structures and providing students with main tools and skills for algorithm design and performance analysis. Topics covered by this course range from fundamental data structures to recent research results. "Data Structures and Algorithm Design Part I" is an introductory course focusing on basic data structures, including vectors, lists, stacks, queues, binary trees, and graphs. They are important in programming practice, as well as fundamental to our advanced course: "Part II."

Read more

Data structures play a central role in computer science and are the cornerstones of efficient algorithms. Knowledge in this area has been at the kernel of related curriculums. This course aims at exploring the principles and methods in the design and implementation of various data structures and providing students with main tools and skills for algorithm design and performance analysis. Topics covered by this course range from fundamental data structures to recent research results. "Data Structures and Algorithm Design Part I" is an introductory course focusing on basic data structures, including vectors, lists, stacks, queues, binary trees, and graphs. They are important in programming practice, as well as fundamental to our advanced course: "Part II."

Data structures are a key component of computer science and a necessary foundation for building efficient algorithms. The knowledge it covers has always been at the core of the curriculum system of related majors. This course aims to focus on the design and implementation of various data structures and reveal the regular principles and methods and techniques; at the same time, it aims to enable students to understand and master the main routines and techniques for algorithm design and performance analysis. The topics taught range from basic data structures to recent research results. This semester's Data Structure (Part 1) is an introductory course on data structures, focusing on basic data structures such as vectors, lists, stacks, queues, binary trees, graphs, etc. Structure (Part 2)" provides the basis. For more detailed introduction, please see: http://dsa.cs.tsinghua.edu.cn/~deng/ds/mooc/, or check the FAQ column after joining this course.

What's inside

Learning objectives

  • Algorithms used to solve complex problems
  • Principles and methods in the design and implementation of various data structures
  • Skills for algorithm design and performance analysis
  • Background on fundamental data structures and recent results
  • Design and implementation of data structures
  • Reveal the laws, principles, methods and techniques
  • Understand and master the main routines and techniques

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores data structures and algorithms, which are fundamental to computer science and related fields
Taught by Junhui Deng, a recognized expert in the field of data structures and algorithm design
Develops skills for algorithm design and performance analysis, which are in high demand in industry
Part of a larger course series on data structures, providing a comprehensive foundation in the subject
Examines recent research results in data structures, keeping learners up-to-date with the latest advancements
Emphasizes the principles and methods in the design and implementation of various data structures

Save this course

Save Data Structures and Algorithm Design Part I | 数据结构与算法设计(上) to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Data Structures and Algorithm Design Part I | 数据结构与算法设计(上) with these activities:
Create a mind map of data structures
Creating a mind map is a visual way to organize and understand the relationships between different data structures.
Browse courses on Data Structures
Show steps
  • Identify the main categories of data structures.
  • Create branches for each category.
  • Add sub-branches for specific types of data structures.
  • Connect related data structures with lines or arrows.
Join a study group
Joining a study group will provide you with opportunities to discuss the course material, ask questions, and learn from your peers.
Show steps
  • Find a study group or create your own.
  • Set regular meeting times and stick to them.
  • Take turns leading the discussion.
  • Share your notes and resources.
Practice solving coding challenges
Practicing coding challenges will improve your problem-solving skills and your ability to apply data structures and algorithms.
Browse courses on Algorithm Design
Show steps
  • Find a website or platform that offers coding challenges.
  • Start with easy challenges and gradually work your way up to more difficult ones.
  • Don't be afraid to ask for help if you get stuck.
  • Analyze your solutions and identify areas for improvement.
Two other activities
Expand to see all activities and additional details
Show all five activities
Compile a master review document
Compiling a master review document will help you to organize and synthesize the course material.
Show steps
  • Gather your notes, assignments, quizzes, and exams.
  • Organize the materials into logical sections.
  • Highlight the most important concepts and ideas.
  • Add your own summaries and explanations.
Contribute to an open-source data structures project
Contributing to an open-source project will help you develop your programming skills and learn from others.
Browse courses on Data Structures
Show steps
  • Find a project that you are interested in.
  • Read the project documentation and get familiar with the codebase.
  • Start by making small contributions, such as fixing bugs or adding new features.
  • Get feedback from other contributors and the project maintainers.

Career center

Learners who complete Data Structures and Algorithm Design Part I | 数据结构与算法设计(上) will develop knowledge and skills that may be useful to these careers:
Machine Learning Engineer
Machine learning engineers design, develop, and deploy machine learning algorithms. This course provides a foundation in data structures and algorithms, which are essential for building and evaluating machine learning models.
Artificial Intelligence Engineer
An artificial intelligence engineer designs and implements artificial intelligence algorithms. This course can provide you with a foundation in the data structures and algorithms used in this field.
Algorithm Developer
An algorithm developer designs and implements algorithms to solve complex problems. This course can teach you the principles and methods used to design and implement these algorithms.
Software Engineer
Software engineers design, develop, test, and maintain software systems. In most roles, you'll be designing algorithms to solve complex problems in areas like machine learning, data science, or mobile app development. This course can help prepare you for this work by teaching you core data structures and algorithms.
Data Scientist
A data scientist designs algorithms that uncover patterns in data. You can use this course to learn the principles and methods used to design and implement these algorithms. The course also teaches ways to analyze algorithm performance, a key skill in this field.
Computer Architect
A computer architect designs and implements computer systems. This course can teach you about the data structures and algorithms used to design and implement these systems.
Operations Research Analyst
An operations research analyst uses mathematical and analytical techniques to solve complex problems in business and industry. This course provides a foundation in the algorithms and data structures used in this field.
Cryptographer
A cryptographer designs and implements cryptographic algorithms. This course can provide you with a foundation in the algorithms and data structures used in this field.
Information Security Analyst
An information security analyst designs and implements information security systems. This course can teach you about the data structures and algorithms used to protect data and systems from unauthorized access.
Big Data Architect
A big data architect designs and implements big data systems. This course can teach you about the data structures and algorithms used to store and process large amounts of data.
Quantitative Analyst
A quantitative analyst designs and implements mathematical models to analyze financial data. This course can help you build a foundation in the algorithms and data structures used in this field.
Data Analyst
A data analyst is someone who transforms raw data into meaningful insights that inform business decisions. You can use this course to learn how algorithms and data structures can be used to automate processes and identify patterns in data.
Database Administrator
A database administrator designs, implements, and maintains database management systems. This course can teach you about the data structures and algorithms used to store and retrieve data efficiently.
Computational Scientist
A computational scientist uses computers to solve complex problems in science and engineering. This course can provide you with a foundation in the algorithms and data structures used in this field.
Software Tester
A software tester designs and executes tests to ensure software quality. This course can teach you about the data structures and algorithms used to test software.

Reading list

We've selected 21 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Data Structures and Algorithm Design Part I | 数据结构与算法设计(上).
经典算法教材,内容全面、深入浅出,适合作为算法与数据结构课程的辅助教材或课外拓展读物。
计算机科学领域的经典著作,深入探讨了算法和数据结构的设计和分析方法。
Provides a comprehensive introduction to the mathematical foundations of computer science. It covers a wide range of topics, from basic set theory to advanced topics in combinatorics. It good choice for students who want to learn the mathematical foundations of computer science.
数据结构与算法领域的经典教材,结合大量实例和习题,有助于理解数据结构的基本概念和算法的设计思想。
算法领域的权威著作,涵盖了广泛的算法知识,适合作为进阶学习的参考书。
This classic textbook comprehensive guide to the design and analysis of algorithms. It covers a wide range of topics, from basic data structures to advanced algorithms. It good choice for students who want to learn the fundamentals of algorithms.
本书是一本数据结构与算法分析的经典教科书,内容全面、深入浅出,对理解数据结构与算法设计有很大的帮助。
Provides a comprehensive guide to the design and analysis of algorithms. It covers a wide range of topics, from basic data structures to advanced algorithms. It good choice for students who want to learn the fundamentals of algorithms.
本书以Java语言为基础,全面讲解了数据结构和算法分析的原理与应用,提供丰富的代码实现,有利于理解本课程中涉及到的数据结构和算法。
本书全面深入地介绍了数据结构和算法分析的基本概念与技术,包含大量习题和代码示例,有助于巩固本课程所学知识。
This textbook provides a comprehensive introduction to data structures and algorithms in Java. It covers a wide range of topics, from basic data structures to advanced algorithms. It good choice for students who want to learn the fundamentals of data structures and algorithms in Java.
本书以清晰通俗的方式介绍了算法设计和分析背后的原理与思想,包含大量算法实现与应用案例,有助于加深对本课程内容的理解。
本书是一本针对计算机面试而编写的数据结构与算法的练习题集,收集了大量的经典面试题,对提高数据结构与算法的实战能力有很大的帮助。
本书重点介绍了Python语言中数据结构和算法的实现,提供了大量的示例和练习,有助于提高本课程中涉及到的数据结构和算法的编程技能。
适合算法竞赛爱好者和竞赛入门者的参考书,提供了算法竞赛的基本知识和技巧。
本书是一本设计模式领域的经典著作,深入浅出地介绍了设计模式的基本原理和应用技巧,对提高软件设计的质量有很大的帮助。
本书是一本重构领域的经典著作,深入浅出地介绍了重构的基本原理和实践技巧,对提高软件设计的质量有很大的帮助。
本书以清晰简洁的语言介绍了算法设计和分析的基本思想,提供大量算法实现与应用示例,有助于理解本课程中涉及到的算法的原理。
本书介绍了大数据环境下数据结构和算法的应用,提供了大量实例和代码示例,有助于理解本课程中涉及到的数据结构和算法在实际应用中的扩展。
本书重点介绍了算法设计的基本原则与技术,包含大量算法实现与应用案例,有助于提高本课程中涉及到的算法设计的水平。

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Data Structures and Algorithm Design Part I | 数据结构与算法设计(上).
Data Structures and Algorithm Design Part II |...
Most relevant
Algorithms and Data Structures in Python (INTERVIEW Q&A)
Most relevant
NP-Complete Problems
Most relevant
Data Structures & Algorithms Using C++
Most relevant
Using Efficient Sorting Algorithms in Java to Arrange Tax...
Most relevant
Ordered Data Structures
Most relevant
Algorithms for Searching, Sorting, and Indexing
Most relevant
Geometric Algorithms
Most relevant
Data Structures & Algorithms IV: Pattern Matching,...
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser