当前位置:网站首页>[leetcode] 700 and 701 (search and insert of binary search tree)
[leetcode] 700 and 701 (search and insert of binary search tree)
2022-07-07 03:33:00 【Learn a little every day】
Binary search tree
Binary search tree as a classic data structure , It has the characteristics of quick insertion and deletion of linked list , It also has the advantage of fast array search ; So it's widely used , For example, in the file system and database system, this data structure is generally used for efficient sorting and retrieval operations .
BST Basic operation of : Judge BST Legitimacy 、 increase 、 Delete 、 check .
This paper introduces how to use the characteristics of binary search tree to realize 「 Search for 」 and 「 increase 」 operation .
700. Search in binary search tree
solution : recursive
The search of ordinary binary tree needs to traverse all nodes to judge in turn . For binary search tree , You can take advantage of its small on the left and large on the right , Do something like ⼆ Sub search operation , Improve search ⼀ The efficiency of elements . At this time, for any node 「 What to do 」 Judge as follows :
- If the current element is less than the target value , Then enter the left subtree search
- If the current element is greater than the target value , Then enter the right subtree search
- If equal , The current node is returned
class Solution:
def searchBST(self, root: TreeNode, val: int) -> TreeNode:
if not root:
return None
if root.val == val:
return root
elif root.val > val:
result = self.searchBST(root.left, val)
else:
result = self.searchBST(root.right, val)
return result
701. Insert operation in binary search tree
solution : recursive
Operations on data structures ⽆⾮ Traverse + visit , Traversal is 「 look for 」, The interview is 「 Change 」. Specific to this question , insert ⼊⼀ Number , Is to find the plug first ⼊ Location , Then enter ⾏ insert ⼊ operation .
On ⼀ A question , We summarized BST Traversal framework in , Namely 「 look for 」 The problem of . Direct framing , add 「 Change 」 The operation of .⼀ Dan involves 「 Change 」, The function is going to return TreeNode type , And call recursion ⽤ The return value of ⾏ receive .
class Solution:
def insertIntoBST(self, root: TreeNode, val: int) -> TreeNode:
if not root:
# Find the insertion location , Make changes
return TreeNode(val)
if root.val > val:
# Receive return value
root.left = self.insertIntoBST(root.left, val)
else:
# Receive return value
root.right = self.insertIntoBST(root.right, val)
return root
summary
- Experience the similarities and differences between the search process of binary search tree and ordinary binary tree .
- Experience the difference between insert and search .
边栏推荐
- About Estimation Statistics
- [untitled]
- 【C语言】 题集 of Ⅸ
- HDU 4337 King Arthur' S Knights it outputs a Hamiltonian circuit
- 树莓派设置wifi自动连接
- Create applet from 0
- VHDL implementation of arbitrary size matrix multiplication
- HMS core machine learning service creates a new "sound" state of simultaneous interpreting translation, and AI makes international exchanges smoother
- 变量、流程控制与游标(MySQL)
- When you go to the toilet, you can clearly explain the three Scheduling Strategies of scheduled tasks
猜你喜欢
海思3559万能平台搭建:RTSP实时播放的支持
腾讯云原生数据库TDSQL-C入选信通院《云原生产品目录》
Restcloud ETL Community Edition June featured Q & A
19.(arcgis api for js篇)arcgis api for js线采集(SketchViewModel)
注意力机制原理
About Tolerance Intervals
如何替换模型的骨干网络(backbone)
Jerry's broadcast has built-in flash prompt tone to control playback pause [chapter]
Open3d mesh filtering
树莓派设置静态ip
随机推荐
迷失在MySQL的锁世界
Jerry's RTC clock development [chapter]
Stored procedures and functions (MySQL)
How to replace the backbone of the model
美国空军研究实验室《探索深度学习系统的脆弱性和稳健性》2022年最新85页技术报告
HDU ACM 4578 Transformation-> Segment tree - interval change
Do you know the five most prominent advantages of E-bidding?
哈夫曼树基本概念
Sorting operation partition, argpartition, sort, argsort in numpy
19.(arcgis api for js篇)arcgis api for js线采集(SketchViewModel)
1200.Minimum Absolute Difference
LAB1配置脚本
ubuntu20安裝redisjson記錄
Delete data in SQL
VHDL implementation of arbitrary size matrix multiplication
Set WiFi automatic connection for raspberry pie
input_ delay
Domcontentloaded and window onload
枚举通用接口&枚举使用规范
Jericho turns on the display icon of the classic Bluetooth hid mobile phone to set the keyboard [chapter]