首页 > 其他分享 >Find min and max element in bst using recursion【1月23日学习笔记】

Find min and max element in bst using recursion【1月23日学习笔记】

时间:2024-01-23 18:57:38浏览次数:41  
标签:Node insert run min bst max travptr NULL data

点击查看代码
#include<iostream>
using namespace std;

struct Node {
    int data;
    Node *left, *right;
};


Node* newNode(int x)
{
    Node* temp = new Node;
    temp->data = x;
    temp->left = temp->right = NULL;

    return temp;
}

void insert(Node*& travptr, int data) {//Node*& travptr 表示 travptr 是一个引用,引用的是一个指向 Node 类型的指针

    if (travptr == NULL)
    {
        travptr = newNode(data);
        return;
    }
    (data > travptr->data) ? insert(travptr->right, data) : insert(travptr->left, data);

}

int findmin(Node* run) {
    if (run == NULL) {
        cout << "empty\n";
        return -1;//必须返回值
    }
    if (run->left == NULL)  return run->data;//中止情况
    else return findmin(run->left);
}//时间复杂度:O(logn)in best case(balanced bst)


int findmax(Node* run) {
    if (run == NULL) {
        cout << "empty\n";
        return -1;//必须返回值
    }
    if (run->right== NULL)  return run->data;//中止情况
    else return findmax(run->right);
}//时间复杂度:O(logn)in best case(balanced bst)

int main()
{
    Node* root = NULL;

    insert(root, 1);
    insert(root, 2);
    insert(root, 3);
    insert(root, 4);
    insert(root, 5);
    cout << findmin(root) << endl;;
    cout << findmax(root) << endl;;
    return 0;
}

标签:Node,insert,run,min,bst,max,travptr,NULL,data
From: https://www.cnblogs.com/whvivy/p/17983146

相关文章

  • [转帖]ORA-01450 maximum key length (3215) exceeded
    一、问题背景给一个业务表online建索引时遇到了ORA-01450maximumkeylength(3215)exceeded报错,看字面意思是字段太长了,检查表字段类型发现基本都是nvarchar2(2000),有些字段(例如unit)明显是不需要这么长的,表的设计有问题,联系开发按实际需求改短后能正常创建。奇怪的是表的......
  • Find min and max element in bst using iteration【1月23日学习笔记】
    点击查看代码#include<iostream>usingnamespacestd;structNode{intdata;Node*left,*right;};Node*newNode(intx){Node*temp=newNode;temp->data=x;temp->left=temp->right=NULL;returntemp;}voidin......
  • HttpRetryException: cannot retry due to redirection, in streaming mode
     failcannotretryduetoredirection,instreamingmodeexecutingPOSThttps://vsp.allinpay.com/apiweb/gateway/payfeign.RetryableException:cannotretryduetoredirection,instreamingmodeexecutingPOSThttps://vsp.allinpay.com/apiweb/gateway/pay......
  • 别再混淆事件源(Event Sourcing)和消息流(Message Streaming)了!
    0前言Kafka不适合事件溯源,Kafka适合消息流。这两种事物需要不同存储机制。事件溯源(EventSourcing),需DB充当事件日志,为事件溯源存储的事件必须以某种方式编写,以便将来的读取能够快速组装属于单个聚合的较小(更小的)事件流最初发射它们的。这需要随机访问索引消息流(MessageS......
  • 如何查看华为的大模型(AI模型),华为官方的mindspore下的大模型???
    由于华为官方的mindspore网站的设计比较反人性话,操作起来十分的复杂,因此如果想要在华为的官方网站上查找这个华为的官方大模型还是比较困难的,为此直接给出链接地址。PS.要注意,华为的AI官方网站经常性的进行修改,所以这个链接只能保证一段时间内可以使用,如果未来网站升级修改,就......
  • gin-vue-admin部署
    前言gin-vue-admin是什么gin-vue-admin是一个基于Gin和Vue.js的全栈前后端分离框架。它提供了一套完整的开发工具和模板,用于快速搭建企业级Web应用程序。gin-vue-admin后端使用Go语言和Gin框架实现,前端使用Vue.js和ElementUI组件库,通过RESTfulAPI进行通......
  • npm ERR! code 1 npm ERR! path E:\20231213\vue-element-admin\node_modules\nod
    执行npminstall报错,根据下面报错信息可知,是由于nodejs和node-sass版本不一致造成的,也就是当前项目比较旧,而我安装的nodejs比较新。PSE:\20231213\vue-element-admin>PSE:\20231213\vue-element-admin>PSE:\20231213\vue-element-admin>PSE:\20231213\vue-element-adm......
  • 2024最新版Xmind for Windows下载安装教程
    软件介绍:LifetimeXMindforWindows:一款全新的思维导图软件如果你是一个喜欢用思维导图来组织思路、管理项目、记录灵感的人,那么你一定不会陌生XMind这个品牌。XMind是一款在思维导图领域表现出色的软件,它拥有遍布全球的大量用户,不仅为用户提供创建思维导图的功能,而且还提供开源。......
  • Toyota Programming Contest 2024#1(AtCoder Beginner Contest 337)
    ToyotaProgrammingContest2024#1(AtCoderBeginnerContest337)A-Scoreboard代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;usingpii=pair<ll,ll>;#definefifirst#definesesecondusingi128=__int128_t;void......
  • mingw下opencl开发,clFFT的使用
    国产嵌入式GPGPU-soc的开发多使用opencl,开发时需要在Windows下搭建GPU计算的测试框架,用以对算法实现进行测试。在Windows平台下利用方便的开发工具对算法进行基本实现和调试,然后就能方便在soc上进行调试。开发环境:两台笔记本:CPU均是i9-12900H 2.50GHz,带有核心显卡IrisXeGP......