Java中的算法数据结构#2(+面试问题)
尝试数据结构、三元搜索树、数据压缩、子字符串搜索和排序算法
讲师:Holczer Balazs
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将会学到的
- 掌握算法和数据结构的基础知识
- 开发最适合个人需求的自己的算法
- 检测非最优代码片段
- 了解数据压缩
- 了解排序算法
- 了解尝试和三元搜索树
- 了解字符串和 StringBuilders
要求
- 核心Java
- 网络连接
说明
本课程是关于数据结构和算法的。我们将在Java中实现这些问题,但我尽量做到通用:因此算法的核心可以在 C++ 或 Python 中使用。完成该课程大约需要12 小时。我强烈建议你自己多次输入这些数据结构,以便更好地掌握它。
第 1 节 – 尝试
- 什么是前缀树(尝试)
- 基本操作:插入、排序和自动完成
- 最长公共前缀问题
- 网络中的前缀树应用(IP 路由)
第 2 节 – 三元搜索树
- 尝试有什么问题?
- 什么是三元搜索树
- 基本操作:插入和检索
- Try 的应用(IP 路由和 Boggle 游戏)
第 3 节 – 子串搜索算法
- 子串搜索 算法
- 蛮力子串搜索
- Z 子串搜索算法
- Rabin-Karp 算法和散列
- Knuth-Morris-Pratt (KMP) 子串搜索算法
第 4 节 – 字符串
- Java编程中的字符串
- 什么是字符串常量池?
- 前缀和后缀
- 最长公共前缀问题
- 最长重复子串问题
- 后缀尝试和后缀数组
第 5 节 – 排序算法
- 基本排序算法
- 冒泡排序和选择排序
- 插入排序和壳排序
- 快速排序和归并排序
- 基于比较和非基于比较的方法
- 字符串排序算法
- 桶排序和基数排序
第 6 节 – 数据压缩算法
- 什么是数据压缩
- 游程编码
- 霍夫曼编码
- LZW压缩解压
第 7 节 – 算法分析
- 如何衡量算法的运行时间
- 使用大O (ordo)、大Ω (omega) 和大θ (theta) 符号进行运行时间分析
- 复杂度等级
- 多项式 (P) 和非确定性多项式 (NP) 算法
- O(1)、O(logN)、O(N) 和其他几个运行时间复杂度
首先,我们将讨论前缀树:例如,现代搜索引擎经常使用这些数据结构。当你进行谷歌搜索时,由于底层的 trie 数据结构,有一个自动完成功能。它也有利于排序:哈希表不支持排序操作,但另一方面,尝试支持。
子串搜索是计算机科学的另一个重要领域。你将了解 Z 算法,我们将讨论蛮力方法以及 Rabin-Karp 方法。
下一章是关于排序的。如何对整数、双精度、字符串或自定义对象的数组进行排序?我们可以使用冒泡排序、插入排序、归并排序或快速排序来做到这一点。你将学到很多关于这些重要算法的理论和具体实现的知识。
最后的讲座是关于数据压缩:游程编码、霍夫曼编码和 LZW 压缩。
感谢你加入课程,让我们开始吧!
此课程面向哪些人:
- 本课程面向具有定量背景(数学、计算机科学)的大学生,但任何具有核心 Java 知识的人都可以很好地掌握课程内容
声明:口袋资源网(koudaizy.com)提供的所有课程、素材等资源全部来源于互联网,赞助VIP仅用于对口袋资源服务器带宽及网站运营等费用支出做支持,从本站下载资源,说明你已同意本条款。