堆排序 public class HeapSort { public static void main(String[] args) { int[] arr = {1, 3, 519, 2, 10, 8, 0, 998}; heapSort(arr); System.out.println(Arra ...
分类:
编程语言 时间:
2021-04-21 12:26:45
阅读次数:
0
递归算法 递归算法的三个要素: 确定递归函数的参数和返回值 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。 确定终止条件 写完了递归算法, 运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对 ...
分类:
其他好文 时间:
2021-04-21 12:25:37
阅读次数:
0
题目大意 给一个二叉树的中序遍历和前序遍历,求其镜像后的层序遍历 类似于 L2-006 树的遍历 (25 分) 建树 镜像就在dfs的时候先输出右子树 再 左子树 #include<bits/stdc++.h> using namespace std; struct node { int l,r; ...
分类:
其他好文 时间:
2021-04-21 12:12:05
阅读次数:
0
树(下) 1.平衡二叉树 平衡因子:左子树和右子树的高度差; AVL树仍是二叉查找树,对任意结点其平衡因子绝对值不超过1 1.1 建树 class ANode { int value; ANode left; ANode right; int height;? public ANode(int va ...
分类:
其他好文 时间:
2021-04-20 15:38:51
阅读次数:
0
PS:本文主要包括二叉树的前序,中序,后序,层序,垂序遍历,使用cpp语言。 前序遍历 struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) : val(x), left(NULL), right(NU ...
分类:
其他好文 时间:
2021-04-20 15:06:15
阅读次数:
0
#堆排序 通过将无序表转化为堆,可以直接找到表中最大值或者最小值,然后将其提取出来,令剩余的记录再重建一个堆, 取出次大值或者次小值,如此反复执行就可以得到一个有序序列,此过程为堆排序。 思路: 1.创建一个堆 H[0……n-1]; 2.把堆首(最大值)和堆尾互换; 3.把堆的尺寸缩小 1,并调用 ...
分类:
编程语言 时间:
2021-04-20 14:08:43
阅读次数:
0
1.构造二叉树的必要条件 必须需要中序遍历和一个前序或者中序遍历 构造二叉树=前序+中序 =后序+中序 2.那如何根据中序和后序遍历去构造二叉树呢? 比如给出 inorder(中序)=[9,3,15,27] postorder(后序遍历)=[9,15,7,20,3] 就可以构造出一个唯一的二叉树: ...
分类:
其他好文 时间:
2021-04-20 14:03:16
阅读次数:
0
树 建树 struct tr{ char x; tr*lc,*rc; }; #define nu NULL // 建树 tr* create() { tr*t ; char x;cin>>x; if(x=='#') { t=nu; }else{ t=new tr; t->x=x; t->lc=nu; ...
分类:
其他好文 时间:
2021-04-19 15:00:42
阅读次数:
0
翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-binary-tree著作权归领扣网络所有。 ...
分类:
其他好文 时间:
2021-04-19 14:42:03
阅读次数:
0
给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] class Solution: def inorderTraversal(self, root: TreeNode) -> List[int]: def in_ ...
分类:
其他好文 时间:
2021-04-15 12:16:15
阅读次数:
0