摘要:
任务描述 本关任务:实现冒泡排序算法,并将乱序数列变成升序。 相关知识 为了完成本关任务,你需要掌握:1.冒泡排序算法。 冒泡排序算法 冒泡排序重复地遍历待排序的数列,每次比较两个相邻元素,如果它们的顺序错误就把它们交换。重复地进行遍历直到没有再需要交换时表示数列已经排序完成。 算法步骤: 比较相邻 阅读全文
摘要:
任务描述 本关任务:编程实现哈夫曼树的的构建,并求其带权路径长度 相关知识 完成本关你需要了解一下内容: 1、哈夫曼树的定义; 2、哈夫曼树的存储结构; 3、哈夫曼树的构造算法; 4、哈夫曼树带权路径长度计算方法 1、哈夫曼树的定义 给定一组具有确定权值的叶子结点,构造出带权路径长度最小的二叉树即为 阅读全文
摘要:
任务描述 给定一个二叉树, 找到该树中两个指定结点的最近公共祖先结点 相关知识 为了完成本关任务,你需要掌握: 1、二叉树两结点最近公共祖先的定义 2、递归方法查找最近公共祖先的算法 1、二叉树两结点最近公共祖先的定义 二叉树中有两个结点 p、q,则p,q的所有公共祖先中,层次最大的公共祖先结点即为 阅读全文
摘要:
任务描述 本关任务:给定一棵二叉树,借助队列实现层次遍历二叉树。 相关知识 为了完成本关任务,你需要掌握: 1、STL框架队列的使用; 2、二叉树层次遍历。 1、STL框架队列的使用 (1)引入头文件 #include<queue>// 队列 (2)定义队列 queue<int> q; //参数是数 阅读全文
摘要:
任务描述 本关任务:利用扩展先序遍历创建二叉树,并给出相应二叉树的中序遍历结果。 相关知识 为了完成本关任务,你需要掌握: 1.二叉树的先序遍历 2.如何创建一棵二叉树 3.二叉树的中序遍历 4.二叉树的二叉链表存储表示。 二叉树的先序遍历 先序遍历(preorder traversal): 1、访 阅读全文
摘要:
给定一个 N 叉树,返回其节点值的前序遍历。 例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]。 说明: 递归法很简单,你可以使用迭代法完成此题吗? 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/n-ary-tree-p 阅读全文