Software Engineering 101: Data Structures with Python & C++

所在平台: Udemy

课程主页: https://www.udemy.com/course/software-engineering-101-data-structures-with-python-c/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:软件工程101:使用Python和C++的数据结构 课程概述:欢迎参加软件工程101:使用Python和C++的数据结构课程。该课程是一门全面的项目基础课程,您将学习数据结构和算法的基础知识,包括数组、链表、栈、队列、树、图和哈希表,同时还将探讨排序、搜索和动态规划等算法。该课程是计算机科学与系统优化的理想结合,为您提供了一次实践编程技能和提升软件工程技术知识的绝佳机会。 在课程的介绍部分,您将学习数据结构和算法的基本知识,包括它们的使用案例、技术限制和常见算法。接下来,您将从Kaggle下载数据集,这是一个提供高质量各行业数据集的平台。之后,我们将开始项目,最初将重点关注线性数据结构的概念。 第一个项目将开发员工考勤跟踪器,使用数组高效存储和更新每日考勤记录。第二个项目是设计一个客户支持工单系统,利用链表按顺序管理进入的请求。第三个项目将实现简单文本编辑器的撤销功能,利用栈的后进先出行为。第四个项目将模拟医院排队系统,通过队列管理患者的到达时间。 接下来,我们将转向非线性数据结构的概念。第五个项目将创建一个客户ID查找工具,使用二叉搜索树快速检索数据。第六个项目将建立一个患者优先级系统,利用堆确保紧急案例优先处理。第七个项目将构建社交网络的好友推荐引擎,使用图遍历技术。第八个项目将应用快速排序、归并排序和冒泡排序来整理销售数据。第九个项目将实现二叉搜索和线性搜索,帮助用户快速查找电子商务产品目录中的商品。第十个项目将使用Dijkstra算法优化航班路线,这是寻找最短路径的流行贪心算法。 项目一到十将用Python实现,而项目十一到十四将使用C++进行实现,以便我们获得更高级的控制和更好的性能。第十一个项目将创建一个投资预算工具,使用动态规划的背包算法帮助我们在预算限制内最大化回报。第十二个项目将通过高效计算斐波那契数列加深我们对递归的理解。第十三个项目将设计一个数独求解器,使用回溯法系统性地探索和填充正确的数字。第十四个项目是一个实际应用项目,我们将建立一个航班数据管理系统,使用二叉搜索快速提取历史记录。 在课程结束时,我们将构建一个自主机器人路径规划器,使用小根堆和A*算法模拟在动态环境中的智能路径寻找。 最后,在进入课程之前,我们需要思考一个问题:为什么我们要学习数据结构和算法?它们帮助您编写更快的程序,高效使用内存和有效处理大量数据。在软件工程中,这些知识对于解决复杂问题、优化系统性能以及设计在各种条件下都可靠的解决方案至关重要。 课程将教授的内容包括: - 学习数据结构和算法的基本知识,包括使用案例和技术限制 - 学习线性和非线性数据结构 - 如何使用数组构建员工考勤跟踪器 - 如何使用链表构建客户支持工单系统 - 如何使用栈创建撤销功能 - 如何构建患者排队系统 - 如何使用二叉搜索树查找客户ID - 如何使用堆构建患者优先级系统 - 如何使用图遍历算法创建社交网络好友推荐引擎 - 如何实现快速排序、归并排序和冒泡排序 - 如何在电子商务产品目录中实现二叉搜索和线性搜索 - 如何使用贪心算法和Dijkstra算法优化航班路线 - 如何使用动态规划和背包算法优化投资预算 - 如何使用递归进行数学计算和斐波那契计算 - 如何使用回溯法创建数独求解器 - 如何在产品数据库中实现哈希 - 如何使用二叉搜索构建航班数据管理系统 - 如何使用优先队列和A*算法构建自主机器人路径规划器

课程评论(0条)

课程详情

Welcome to Software Engineering 101: Data Structures with Python & C++ course. This is a comprehensive project based course where you will learn the fundamentals of data structures and algorithms like arrays, linked lists, stacks, queues, trees, graphs, and hash tables, while also exploring algorithms such as sorting, searching, and dynamic programming. This course is a perfect combination between computer science and system optimization, making it an ideal opportunity to practice your programming skills while improving your technical knowledge in software engineering. In the introduction session, you will learn the basic fundamentals of data structures and algorithms, such as getting to know their use cases, technical limitations, and commonly used algorithms. Then, in the next section you will find and download dataset from kaggle, it is a platform that offers high quality datasets from various industries. Afterward, we will start the project. Initially we will focus on linear data structure concepts. In the first project, we are going to develop an employee attendance tracker, where arrays will be used to efficiently store and update daily attendance records. In the second project, we are going to design a customer support ticketing system that uses linked lists to manage incoming requests in the order they arrive. For the third project, we are going to implement an undo feature for a simple text editor by leveraging the Last In First Out behavior of stacks. In the fourth project, we are going to simulate a hospital queue system, using the queue concept to manage patients based on their arrival time. Following that, we will move to non linear data structures concepts. In the fifth project, we are going to create a Customer ID finder tool using binary search trees for fast data retrieval. In the sixth project, we are going to build a patient prioritization system using a heap to ensure urgent cases are addressed first. In the seventh project, we are going to build a friend recommendation engine for a social network using graph traversal techniques. In the eighth project, we are going to apply sorting algorithms like merge sort, quick sort, and bubble sort to organize sales data. In the ninth project, we are going to implement binary and linear search to help users quickly find products in an e-commerce product catalog. In the tenth project, we are going to optimize flight routes using the Dijkstra algorithm, which is a popular greedy algorithm for finding the shortest path. Projects one through ten will be implemented in Python, while projects eleven to fourteen will be implemented in C++ as it will give us more advanced control and better performance. In the eleventh project, we are going to create an investment budgeting tool using dynamic programming, specifically Knapsack algorithm which will help us maximize returns within budget constraints. In the twelfth project, we are going to deepen our understanding of recursion by computing Fibonacci sequences efficiently. In the thirteenth project, we are going to design a Sudoku solver using backtracking to systematically explore and fill the correct numbers. The fourteenth project is a real world application project where we are going to build a flight data management system using binary search to extract historical records quickly. Lastly, at the end of the course, we are going to build an autonomous robot path planner using min heap and the A algorithm to simulate intelligent pathfinding in a dynamic environment.Firstly, before getting into the course, we need to ask this question to ourselves, why should we learn about data structures and algorithms? Well, here is my answer, they help you write programs that run faster, use memory efficiently, and handle large volumes of data effectively. In software engineering, this knowledge is crucial for solving complex problems, optimizing system performance, and designing solutions that are reliable under various conditions.Below are things that you can expect to learn from this course:Learn the basic fundamentals of data structures and algorithms, such as getting to know their use cases and technical limitationsLearn about linear and non linear data structuresLearn how to build employee attendance tracker using arrayLearn how to build customer support ticketing system using linked listLearn how to create undo function using stackLearn how to build patient queue systemLearn how to find customer ID using binary search treeLearn how to build patient prioritization system using heapLearn how to build social network friend recommendation algorithm using graph traversalLearn how to implement quick sort, merge sort, and bubble sortLearn how to implement binary search and linear search in e-commerce product catalogLearn how to optimize flight route using greedy algorithm and dijkstra algorithmLearn how to optimize investment budget using dynamic programming and Knapsack algorithmLearn how to perform mathematical computation and Fibonacci calculation using recursionLearn how to create Sudoku solver using backtrackingLearn how to implement hashing in product databaseLearn how to build flight data management system using binary searchLearn how to build autonomous robot path planner using priority queue and A algorithm

课程标签

0人关注该课程

主题相关的课程