Searching and Sorting Algorithms

所在平台: Udemy

课程主页: https://www.udemy.com/course/searching-and-sorting-algorithms/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**课程名称:搜索与排序算法 (Searching and Sorting Algorithms)** **课程概述:** 本课程将深入探讨搜索和排序算法的核心概念。我们将通过可视化来展示算法的工作流程,帮助您深入理解其原理。课程采用C++语言进行具体实现,让您亲手实践所学知识。我们将从时间复杂度、空间复杂度、适应性和稳定性等多个维度对每种算法进行细致的比较和分析。 **搜索算法部分,我们将学习:** 1. **线性搜索 (Linear Search)** 2. **二分搜索 (Binary Search)**:包括递归和迭代两种实现方式。 3. **跳跃搜索 (Jump Search)** **排序算法部分,我们将学习:** 1. **冒泡排序 (Bubble Sort)** 2. **选择排序 (Selection Sort)** 3. **归并排序 (Merge Sort)** 4. **快速排序 (Quick Sort)** 5. **计数排序 (Count Sort)** 6. **桶排序 (Bucket Sort)** 7. **基数排序 (Radix Sort)** 8. **插入排序 (Insertion Sort)** 学习完本课程,您将能够理解每种算法典型的应用场景、工作流程、时间复杂度以及具体的实现方法。 **何为排序算法?** 排序算法是一种将列表中的元素按照特定顺序排列的算法。最常用的顺序是数值顺序和字典序。高效的排序对于优化其他依赖于已排序列表的算法(例如搜索和合并算法)至关重要。排序还有助于数据的标准化处理和生成易于人类阅读的输出。 **更正式地说,任何排序算法的输出必须满足两个条件:** 1. **有序性:** 输出必须是按照所需全序的非递减顺序排列(即每个元素都不能小于其前一个元素)。 2. **置换性:** 输出必须是输入列表的排列(一种重排,但保留了所有原始元素)。 为了达到最佳效率,输入数据应存储在允许随机访问的数据结构中,而不是仅允许顺序访问的结构中,特别是在使用快速内存时。

课程评论(0条)

课程详情

Hey there! In this course on searching and sorting algorithms. We will be visualising the workflow of the algorithms and understanding the hang of them. We will implement what we have understood in Cpp Programming. We will compare and contrast each algorithm in terms of time, space, adaptability and stability. The searching algorithms that we will be studying in this course are1. Linear Search2. Binary Search - Both Recursive and Iterative3. Jump Search. The sorting algorithms what we will be looking in this course are:1. Bubble Sort2. Selection Sort3. Merge Sort4. Quick Sort5. Count Sort6. Bucket Sort7. Radix Sort8. Insertion SortYou'll be able to understand the typical use cases, workflow, time complexity, implementation of each and every algorithm.A sorting algorithm is an algorithm that puts elements of a list in a certain order. The most frequently used orders are numerical order and lexicographical order. Efficient sorting is important for optimizing the efficiency of other algorithms (such as search and merge algorithms) that require input data to be in sorted lists. Sorting is also often useful for canonicalizing data and for producing human-readable output. More formally, the output of any sorting algorithm must satisfy two conditions:The output is in nondecreasing order (each element is no smaller than the previous element according to the desired total order);The output is a permutation (a reordering, yet retaining all of the original elements) of the input.For optimum efficiency, the input data in fast memory should be stored in a data structure which allows random access rather than one that allows only sequential access

课程标签

0人关注该课程

主题相关的课程