|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/tree-data-structure/
课程评论:没有评论
Coursera 课程摘要:Java 语言学习树形数据结构 本课程旨在帮助学习者深入理解和解决涉及树形数据结构的各类问题。课程首先在白板上清晰地讲解树形数据结构的基本概念,随后通过 Java 代码实现来加深学习者的理解。 课程重点区分了广度优先搜索 (BFS) 和深度优先搜索 (DFS) 这两种核心的遍历方式,并详细讲解了各自的解题技巧。其中,深度优先搜索通常采用递归实现,为帮助学习者克服递归理解上的难点,本课程特别强调了使用调试器来可视化代码执行流程。 课程内容涵盖了树形数据结构的基础知识,并详细介绍了其在多种场景下的应用,包括: * **基本概念**: 解释了树作为一种非线性、层次化数据结构的定义,其中每个节点包含值和指向子节点的引用。 * **应用场景**: * 存储层级数据,如文件系统、组织架构、XML/HTML 数据。 * **二叉搜索树 (Binary Search Tree)**: 实现快速查找、插入和删除已排序数据,并能查找最接近的项。 * **堆 (Heap)**: 通过数组实现,常用于优先队列。 * **B 树 (B-Tree) 和 B+ 树 (B+ Tree)**: 在数据库索引中广泛应用。 * **语法树 (Syntax Tree)**: 在编译器设计中用于扫描、解析、代码生成和算术表达式求值。 * **Trie (前缀树)**: 用于实现字典和前缀查找。 * **后缀树 (Suffix Tree)**: 用于在固定文本中进行快速模式匹配。 * **最小生成树 (Spanning Trees)** 和**最短路径树 (Shortest Path Trees)**: 在计算机网络中分别用于路由器和桥接器的实现。
Course Description:This course explains how we can solve problems involving Tree data structure. First, the concept is explained in white board and then the solution is coded for better understanding.When we see a tree data structure, the first thing we need to identify is to use either Breadth-first Search or Depth-first search. This course differentiates the Breadth-first search and Depth-first search problems and the different techniques used in them. Depth First search uses recursion. It is very hard to visualize recursion. This course uses a debugger and this helps in visualizing the code flow. What is Tree data structure?A tree is non-linear and a hierarchical data structure consisting of a collection of nodes such that each node of the tree stores a value and a list of references to other children nodes.Applications: Store hierarchical data, like folder structure, organization structure, XML/HTML data.Binary Search Tree is a tree that allows fast search, insert, delete on a sorted data. It also allows finding closest itemHeap is a tree data structure which is implemented using arrays and used to implement priority queues.B-Tree and B+ Tree: They are used to implement indexing in databases.Syntax Tree: Scanning, parsing , generation of code and evaluation of arithmetic expressions in Compiler design.Trie: Used to implement dictionaries with prefix lookup.Suffix Tree: For quick pattern searching in a fixed text.Spanning Trees and shortest path trees are used in routers and bridges respectively in computer networksetc