课程主页: https://www.coursera.org/learn/algorithms-on-strings
在网络与信息日益丰富的今天,我们的生活中充满了各种文本信息。无论是搜索引擎中的文本查询,还是阅读网站、书籍与电子邮件,这些都可以被视为计算机科学中的字符串。为了高效地处理海量信息,搜索引擎采用了许多字符串算法。此外,个性化医学这一新兴领域也使用这些搜索算法,帮助寻找导致疾病的基因突变。
本次Coursera平台上的《字符串算法》课程将带领学员深入掌握关键的模式匹配算法。课程内容包括以下几个重要模块:
- 后缀树:学习如何在O(n)时间内寻找字符串中的最长重复部分。1973年,彼得·韦尔纳提出了基于后缀树的解决方案,使得这一算法获得“年度算法”的美誉。
- Burrows-Wheeler变换与后缀数组:了解虽然后缀树能快速进行精确模式匹配,但在近似匹配上却存在挑战。课程将讨论Burrows-Wheeler变换是如何从文本压缩算法演变为生物学家在基因组突变搜索中的核心工具。
- Knuth–Morris–Pratt算法:掌握一系列模式匹配算法的知识,包括Knuth-Morris-Pratt算法,该算法显著提高了的字符串匹配效率。
- 构造后缀数组与后缀树:深入学习O(n log n)后缀数组构造算法和从后缀数组构造后缀树的线性时间算法。这一部分还将涉及最后的编程作业,实现相关算法。
总结来说,这门课程不仅教授了字符串模式匹配的基础理论,还提供了丰富的编程练习,帮助学员将理论知识应用到实际问题中。无论是对计算机科学、数据分析,还是对生物信息学有深入兴趣的学习者,这门课程都将为你打开一扇新世界的大门。
课程主页: https://www.coursera.org/learn/algorithms-on-strings