你将学到什么
用于解决复杂问题的算法
设计和实现各种数据结构的原则和方法
算法设计和性能分析技能
基本数据结构和最近结果的背景
课程概况
Data structures play a central role in computer science and are the cornerstones of efficient algorithms. This specialization explores the principles and methods in the design and implementation of various data structures. You will learn the essential skills for algorithm design and performance analysis. Topics covered by this specialization range from fundamental data structures to recent research results.
包含课程
课程1
Data Structures and Algorithms (I)
By learning this course, you will get a comprehensive grasp of vector and list and the ability to use them in solving real problems. By the end of this course, you will be able to evaluate data structures and algorithms in terms of asymptotic complexity, analyze storage/time complexity of iterative/recursive algorithms, implement vector and list, understand/implement basic sorting algorithms such as Bubblesort, Insertionsort, and Selectionsort, understand/implement search algorithms such as Binary Search, Fibonacci Search, and Interpolation Search, use vector and list in problem-solving.
通过学习本课程,你将得到向量和列表的全面理解以及使用向量和列表解决实际问题的能力。 在本课程结束时,你将能够根据渐进复杂度评估数据结构和算法,分析迭代/递归算法的空间/时间复杂度,实现向量和列表, 了解/实现基本排序算法(例如冒泡排序、插入排序和选择排序),理解/实现搜索算法(例如二分搜索、斐波那契搜索和插值搜索), 使用向量和列表解决问题。
课程2
Data Structures and Algorithms (II)
By learning this course, you will get a comprehensive grasp of stack, queue, binary tree, graph and BST structures and algorithms, as well as their applications. By the end of this course, you will be able to understand and implement stack, queue and binary tree, use binary trees to solve problems such Huffman encoding, understand and implement the graph structure as well as related algorithms such BFS, DFS and PFS, understand and implement AVL tree.
通过学习本课程,你将全面了解栈、队列、二叉树、图和二叉搜索树结构、算法及其应用。 在本课程结束时,你将能够理解和实现栈、队列和二叉树,使用二叉树解决霍夫曼编码等问题,理解并实现图结构以及相关算法(例如BFS,DFS和PFS),理解并实现AVL树。
课程3
Data Structures and Algorithms (III)
By learning this course, you will get a comprehensive grasp of hashing and typical balanced binary search trees, as well as their applications. By the end of this course, you will be able to understand the principle of Hashing, design and implement Hashtables for real problems, understand and implement typical balanced binary search trees such as Splay tree, Red-Black tree as well as B-tree, use BBST to solve various problems such as range query.
通过学习本课程,你将全面了解散列和典型的平衡二叉搜索树技术及其应用。 在本课程结束时,你将能够了解散列的原理,设计和实现用于实际问题的哈希表,了解并实现典型的平衡二叉搜索树,例如Splay树,红黑树以及B树,并使用BBST解决各种问题,例如范围查询。
课程4
Data Structures and Algorithms (IV)
By learning this course, you will get a comprehensive grasp of Priority Queues and string match techniques, as well as their applications. By the end of this course, you will be able to understand/implement Bucketsort, Counting-sort, and Radixsort, understand the principle/implementation/application of different Priority Queues such as complete binary heap and leftist heap, understand and implement Heapsort, understand and implement typical string matching algorithms such as KMP, BM, and Karp-Rabin, implement and analyze advanced selection/sorting algorithms such as Quicksort, QuickSelect, LinearSelect, and Shellsort.
通过学习本课程,你将全面了解优先级队列和字符串匹配技术及其应用。 在本课程结束时,你将能够了解/实现桶排序,计数排序和基数排序,了解不同优先级队列的原理/实现/应用,例如完全二叉堆和左倾堆,了解并实现堆排序,了解并实现典型的字符串匹配算法(例如KMP,BM和Karp-Rabin),实现并分析高级选择/排序算法,例如快速排序、快速选择、线性选择和希尔排序。
课程项目
用于解决复杂问题的算法
设计和实现各种数据结构的原则和方法
算法设计和性能分析技能
基本数据结构和最近结果的背景
用于解决复杂问题的算法
设计和实现各种数据结构的原则和方法
算法设计和性能分析技能
基本数据结构和最近结果的背景
预备知识
基本的计算机科学和编程技能。