首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
java面试题基础
冒泡排序算法
插入排序算法
归并排序算法
二叉树排序算法
基数排序
选择排序
堆排序
快排
TCP-三次握手
HTTP协议
WebSocket
Mysql架构
Innodb与Myisam数据库引擎
事务隔离级别
面向对象(OOP)
异常
泛型
Object
StringBuilder
代理
注解
java面试题基础二
HashMap
ConcurrentHashMap
BlockingQueue
线程
Volatile
AtomicInteger
Synchronized
Java虚拟机架构
类加载器
内存模型
垃圾回收
Mybatis面试题
IOC
高并发系统设计
分布式缓存
分布式锁
分布式事务
消息队列
当前位置:
首页>>
技术小册>>
Java面试指南
小册名称:Java面试指南
二叉树排序算法是一种常见的排序算法,它的时间复杂度为O(nlogn)。下面是一个用Java实现的二叉树排序算法: ```java class TreeNode { int val; TreeNode left; TreeNode right; public TreeNode(int val) { this.val = val; } } public class BinaryTreeSort { public TreeNode root; public void insert(int val) { root = insert(root, val); } public TreeNode insert(TreeNode root, int val) { if (root == null) { return new TreeNode(val); } if (val < root.val) { root.left = insert(root.left, val); } else { root.right = insert(root.right, val); } return root; } public void inorderTraversal(TreeNode root) { if (root != null) { inorderTraversal(root.left); System.out.print(root.val + " "); inorderTraversal(root.right); } } public static void main(String[] args) { int[] nums = {4, 2, 7, 1, 3, 6, 9, 5}; BinaryTreeSort tree = new BinaryTreeSort(); for (int num : nums) { tree.insert(num); } tree.inorderTraversal(tree.root); } } ``` 这个算法中,我们定义了一个TreeNode类,表示二叉树的节点。每个节点包含一个val值,以及左右子节点的指针。我们还定义了一个BinaryTreeSort类,用于执行排序操作。它包含一个root节点,表示树的根节点。我们使用insert方法将值插入到二叉树中,inorderTraversal方法遍历二叉树并输出排序后的结果。 在main方法中,我们定义一个数组nums,并将其插入到二叉树中。然后调用inorderTraversal方法输出排序后的结果。 以上就是一个用Java实现的二叉树排序算法。
上一篇:
归并排序算法
下一篇:
基数排序
该分类下的相关小册推荐:
JAVA 函数式编程入门与实践
Mybatis合辑5-注解、扩展、SQL构建
SpringBoot合辑-高级篇
Java语言基础10-Java中的集合
Java语言基础5-面向对象初级
Java并发编程
手把手带你学习SpringBoot-零基础到实战
Java语言基础4-数组详解
Java语言基础3-流程控制
Java必知必会-Maven初级
深入理解Java虚拟机
Mybatis合辑4-Mybatis缓存机制