冒泡排序折半查找二叉树遍历算法
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[] = {12, 6, 65, 34, 21, 108, 3};
BubbleSort bubbleSort = new BubbleSort();
bubbleSort.sort(data);
System.out.println(Arrays.toString(data));
}
}
运行结果如下:
[3, 6, 12, 21, 34, 65, 108]
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[] = {3, 9, 12, 36, 60, 80, 100};
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 数据结构和算法 二分查找二叉树遍历