排序算法java实现
选择排序 思路 首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。 特点 对于长度为 N 的数组,选择排序需要大约 次比较,N 次交换 运行时间和输入无关,其他算法会更善于利用输入的初始状态 数据移动是最少的,每次交换都会改变两个数组元素的值,因此选择排序用了 N… »
女王控的博客
选择排序 思路 首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。 特点 对于长度为 N 的数组,选择排序需要大约 次比较,N 次交换 运行时间和输入无关,其他算法会更善于利用输入的初始状态 数据移动是最少的,每次交换都会改变两个数组元素的值,因此选择排序用了 N… »
下压栈 特点 能动态调整数组大小的实现 实现 下压堆栈(链表实现) 先进先出队列 背包 »
快速排序 递归式 非递归式 »
用两个栈实现队列 题目描述:用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。 队列中的元素为 int 类型。 »
重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 »