ICode9

精准搜索请尝试: 精确搜索
  • 树和森林2019-06-21 11:54:23

    树的存储结构 (1)双亲表示法 以一组地址连续的空间存储树的结点,同时在结点中附设一个指针域指示其双亲结点的位置。这种存储结构利用每个孩子只有一个双亲的性质,求结点的双亲可以在常量时间内实现,但求结点的孩子时需要遍历整个结构。 (2)孩子表示法 树中每个结点可能有多个孩子

  • [leetcode]230. 二叉搜索树中第K小的元素2019-06-16 16:05:58

    给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 1 示例 2: 输入: root = [5,3,6,2,4,null,null,

  • 700. 二叉搜索树中的搜索2019-06-04 08:51:17

    给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 给定二叉搜索树: 4 / \ 2 7 / \ 1 3 和值: 2 你应该返回如下子树: 2 /

  • 7-235. Lowest Common Ancestor of a Binary Search Tree2019-05-26 14:42:10

    题目描述: Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST. According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes p and q as the lowest node in T that ha

  • 树——通用树中属性操作的实现2019-05-26 10:49:26

    1,树中的属性操作有:        1,树中结点的数目,树中高度,树的度数;        2,树中结点数目:        1,定义功能:count(node)               1,在 node 为根结点的树中统计结点数目;               2,递归实现;   2,功能函数代码实现: 1 /*

  • 树——通用树中结点的删除2019-05-26 10:41:54

    1,本文实现通用树结构结点的删除操作;   2,删除的方式(和插入操作互逆):        1,基于数据元素值的删除:               1,SharedPointer< Tree<T> > remove(const T& value)                      1,返回指向一棵树的智能指针;        2,基于

  • 二叉搜索树中第K小的元素2019-05-18 10:48:17

    二叉搜索树中第K小的元素 LeetCode中文 LeetCode英文 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2

  • 剑指offer——二叉搜索树中的后序遍历序列2019-04-12 10:55:57

    题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 输入描述: 输入:5 7 6 9 11 10 8 输出:true C++代码: class Solution { public: //非递归方式 bool VerifySquenceOfBST(vector

  • 《剑指offer》第六十八题(树中两个结点的最低公共祖先)2019-03-18 13:42:23

    // 面试题68:树中两个结点的最低公共祖先// 题目:输入两个树结点,求它们的最低公共祖先。#include <iostream>#include "Tree.h"#include <list>using namespace std;bool GetNodePath(const TreeNode* pRoot, const TreeNode* pNode, list<const TreeNode*>& path)//找到根节点到指

  • 力扣——二叉搜索树中第k小的元素2019-03-16 21:48:08

    给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \  2输出: 1 示例 2: 输入: root = [5,3,6,2,4,null,null,1], k = 3

  • [学习记录]二叉树删除2019-03-10 13:04:08

    二叉树删除涉及到多种情况,需要逐个处理 1.当前节点为叶子节点   直接删除 2.当前节点右子树为空   复制左子树中最大的值,用该值替代当前节点,删除左子树中原节点。 3.当前节点右子树不为空   复制右子树中最小的值,用该值替代当前节点,删除右子树中原节点。     总结   1.如

  • 二叉搜索树中的插入操作-Leetcode 701 -python2019-03-07 22:00:29

    给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。 例如,  给定二叉搜索树:

  • LeetCode 二叉搜索树中第K小的元素2019-03-03 08:49:36

    给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 1 示例 2: 输入: root = [5,3,6,2,4,null,null,1],

  • Prufer codes与Generalized Cayley's Formula2019-02-17 13:01:07

    Prufer序列:   在一棵n个节点带标号树中,我们认为度数为1的点为叶子。n个点的树的Prufer序列是经过下面流程得到的一个长度为n-2的序列。     1.若当前树中只剩下两个点,退出,否则执行2。     2.找到树中编号最小的节点,将与它相连的那个点的编号加入Prufer序列的末尾,并将这个

  • 二叉查找树中由前序转化为后序2019-02-10 11:48:53

        1 void getPostFromPre(int preL, int preR) { 2 if (preL > preR) return; 3 int i = preL + 1, j = preR; 4 while (i <= preR && pre[i] < pre[preL]) i++; 5 while (j > preL&&pre[j] >= pre[preL]) j--; 6

  • 剑指offer-树中两个节点的最低公共祖先2019-02-01 19:03:47

    普通二叉树 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有