![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
灵颖桥人
长风破浪会有时,直挂云帆济沧海。
展开
-
Java 排序算法之堆排序实现
最大堆的构建: 采用直接插入算法,从空堆开始,依次插入各个关键码,时间复杂度为 O(n * log n)。 采用筛选法构建堆,可以将时间复杂度降低到 O(n)。 筛选法步骤:以最大堆为例,由于最大堆是完全二叉树的一种特殊形式,因此参照完全二叉树的性质,可以将最大堆存储到数组中,用数组下标来表示节点之间的关系。从第一个具有孩子的节点 i =n / 2 -1 开始,如果以这个元素为根的子树已是最大堆,则不需调整,否则需调整子树使之成为堆。继续检查 i - 1,i - 2等节点为根的子树,直到该二叉树的..原创 2021-04-05 15:12:34 · 238 阅读 · 1 评论 -
Java两个线程交替打印奇偶数
思路:利用Object.wait()和Object.notify()方法进行线程间的通信。 代码: public class MyThread implements Runnable { private static int i = 1; private byte[] s1; public MyThread(byte[] s1) { this.s...原创 2020-04-02 20:20:49 · 961 阅读 · 0 评论 -
二叉树的三种遍历方式
public class Node { public String value; public Node left; public Node right; public Node(String value){ this.value = value; } public Node(){} } import java.util.Li...原创 2018-07-09 22:37:22 · 179 阅读 · 0 评论