冒泡排序折半查找二叉树遍历算法

Posted 程序员Hotel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序折半查找二叉树遍历算法相关的知识,希望对你有一定的参考价值。

冒泡排序、折半查找、二叉树遍历算法

冒泡排序、折半查找、二叉树遍历算法

1、冒泡排序算法

public class BubbleSort {
    public void sort(Integer[] data) {
        for (int i = 0; i < data.length - 1; i++) {
            for (int j = i + 1; j < data.length; j++) {
                if (data[i] > data[j]) {
                    int temp = data[j];
                    data[j] = data[i];
                    data[i] = temp;
                }
            }
        }
    }

    public static void main(String[] args) {
        Integer data[] = {1266534211083};
        BubbleSort bubbleSort = new BubbleSort();
        bubbleSort.sort(data);
        System.out.println(Arrays.toString(data));
    }
}


运行结果如下:

[3612213465108]


2、折半查找算法

public class BinarySerach {
    public static int search(int[] data, int key) {
        int left = 0;
        int right = data.length - 1;
        while (left <= right) {
            int mid = (left + right) / 2;
            if (key > data[mid]) {
                left = mid + 1;
            } else if (key < data[mid]) {
                right = mid - 1;
            } else {
                return mid;
            }
        }
        return -1;
    }

    public static void main(String[] args) {
        int data[] = {3912366080100};
        System.out.println(search(data, 60));
    }
}


运行结果如下:

4


3、二叉树遍历算法

public class Tree<E> {
    private TreeNode<E> root;

    public Tree() {
        root = null;
    }

    public void order1(TreeNode<E> node) {
        if (node == null) return;
        System.out.print(node.data);
        order1(node.lchild);
        order1(node.rchild);
    }

    public void order2(TreeNode<E> node) {
        Stack<TreeNode<E>> stack = new Stack<TreeNode<E>>();
        while (node != null || !stack.isEmpty()) {
            while (node != null) {
                stack.push(node);
                node = node.lchild;
            }
            node = stack.pop();
            System.out.print(node.data);
            node = node.rchild;
        }
        public static void main (String[]args){
            Tree<String> tree = new Tree<String>();
            tree.root = new TreeNode<String>("A");
            tree.root.lchild = new TreeNode<String>("B");
            tree.root.rchild = new TreeNode<String>("C");
            tree.root.lchild.rchild = new TreeNode<String>("D");
            tree.order1(tree.root);
            tree.order2(tree.root);
        }
    }
}


小贴士


回复“ m 关键词即可获取相关开发工具推荐。

回复书籍”关键字即可获取相关书籍推荐。

回复资源”关键字即可获取开发资源大全。

回复666关键字即可获取《面试宝典》。

回复“1024”关键字试试?

下方菜单栏点击餐饮部-Java餐-阅读原创书籍。

后续会持续更新更多书籍及优质资源推荐,敬请期待哦!


       

 

 
 
● 
● 
● 
● 

以上是关于冒泡排序折半查找二叉树遍历算法的主要内容,如果未能解决你的问题,请参考以下文章

算法与数据结构索引

在路上---学习篇Python 数据结构和算法 二分查找二叉树遍历

大话数据结构.pdf

折半查找/二分查找 以及二叉树的 三种遍历方式

前端开发必备技能 —— 数据结构 && 算法 && 手撕JavaScript/ES6

前端开发必备技能 —— 数据结构 && 算法 && 手撕JavaScript/ES6