|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/algorithms-c-concepts-examples-code/
课程评论:没有评论
课程名称:C语言算法:概念、实例、代码与时间复杂度 课程概述: 《C语言算法:概念、实例、代码与时间复杂度》课程最近更新于2017年1月14日,涵盖了合并排序的时间复杂度、扩展欧几里得算法及新的变换与征服算法部分。算法是程序员开发高效软件设计和编程技能的重要工具。本课程介绍了计算机科学中最重要的算法。每个视频都解释了算法背后的概念和逻辑,提供示例并讲解伪代码,同时包含C语言的算法实现示例程序及其输入输出示例。本课程将帮助学员在算法编程面试中脱颖而出。 课程亮点: - 了解软件运行中的关键决策是如何通过算法实现的 - 学习如何以最佳方式将逻辑实现为代码,并高效编写程序 - 理解常用算法的设计与实现,开启你的算法编程之旅 课程结构: 1. **概述**:课程介绍、作者信息、课程结构和常见问题解答。 2. **暴力法**:讲解选择排序、冒泡排序、顺序查找和字符串匹配等算法。 3. **分治法**:介绍快速排序和合并排序算法。 4. **减少与征服法**:解释二分查找和插入排序算法的应用。 5. **变换与征服法**:讨论堆排序算法及堆的构建。 6. **动态规划**:解决重叠子问题的算法,包括沃沙尔算法和弗洛伊德算法。 7. **贪心算法**:讲解最小生成树的概念以及Prim算法和Kruskal算法。 8. **数论**:介绍与数字计算相关的算法,如欧几里得算法、扩展欧几里得算法和RSA算法。 9. **时间复杂度**:解释算法的时间复杂度分析及符号标记,逐个算法时间复杂度解析。 课程受益: 通过学习该课程,学生可以掌握C语言中的算法设计与实现,求职者也能利用这些知识为编程面试做好准备。注册后,学员将享有课程资源和讲座的终身访问权。课程内容不断更新,包含新的讲座、资源和测验,帮助学员与时俱进。立即加入课程,学习如何设计和实现算法!
Algorithms in C: Concepts, Examples, Code + Time Complexity (Recently updated: January 14, 2017!) What's New: Time Complexity of Merge Sort, Extended Euclidean Algorithm in Number Theory section, New section on Transform and Conquer algorithms Algorithms are very important for programmers to develop efficient software designing and programming skills. This Course introduces you to most important algorithms in computer science. Each video explains the concept/logic behind the algorithm, provides an example and explains pseudo-code. Each video also has working C programs of algorithm implementations with sample input & output. This course will help you crack those programming interviews on algorithms. Why Take this Course? Most of the companies in today's world depend on software for their daily operations. How do these software take right decisions and keep these companies running in the right direction? Well, it's all in their programming. Programmers over the decades have been writing code which perform right operations in right conditions. This is done using Algorithms. Taking this algorithms course will help you to understand how to implement logic in the form of a code in an optimal way and also enables you to write the programs efficiently. In this course you will learn how the most important and most common algorithms used in programming are designed and implemented. This course will kick start your journey in the world of programming with algorithms. How is this course designed? This Course is structured into following sections: Overview: This section introduces you to the course, provides information about the author, course structure and gives you answers to some of the frequently asked questions by students. Brute Force: This section explains the brute force approach to problem solving. You will understand the how the algorithms selection sort, bubble sort, sequential search and string matching work. Divide and Conquer: This section deals with algorithms based on Divide and Conquer technique. Two sorting algorithms - quick sort and merge sort are explained. Decrease and Conquer: In this section decrease and conquer approach and its variants are explained. Binary search and insertion sort algorithms are explained with an example. Transform and Conquer: Significance of transform-and-conquer technique and algorithms like heap-sort will be explained here. Lectures on Heaps, heap construction and heapsort algorithm are added. Each algorithm is explained with an example in a lucid way. Dynamic Programming: This section explains how to solve problems with overlapping sub-problems. Warshall's algorithm and Floyd's algorithm are explained. Greedy Technique: This section explains algorithms based on Greedy technique. Section begins with explanation on minimum spanning tree concept. Two algorithms (Prim's and Kruskal's) to construct a minimum spanning tree of a given graph are explained step-by-step. Number Theory: This section deals with the algorithms involving numerical computations. Euclid's Algorithm, Extended-Euclidean Algorithm and RSA algorithm are explained with example. Time Complexity: This section explains the importance of time complexity analysis, the asymptotic notations to denote the time complexity of algorithms. Also, each algorithm's time complexity is explained in separate video lectures. Students can benefit by learning about designing and implementing algorithms in C. Job Seekers can also benefit by using the information in preparing for their programming interviews. Once you are enrolled, you get a life time access to all the resources and lectures in this course. This course is always evolving with new lectures, resources and quizzes to keep you up-to-date. So take this course now and learn how to design and implement algorithms.