![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
hljlzc2007
大数据玩家
展开
-
红黑树
1. 简介 红黑树是一种自平衡二叉查找树。它的统计性能要好于平衡二叉树(AVL树),因此,红黑树在很多地方都有应用。在C++ STL中,很多部分(目前包括set, multiset, map, multimap)应用了红黑树的变体(SGI STL中的红黑树有一些变化,这些修改提供了更好的性能,以及对set操作的支持)。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的:转载 2013-06-26 15:13:54 · 795 阅读 · 0 评论 -
二叉树最优深度算法
BTNode类为二叉树属性为名字,和左右孩子以及set、get方法 前序遍历: protected static void preorder(BTNode node) { if (node != null) { visit(node);//随便写点打印p的名字之类的语句 preorder(node.getLeft()); preorder(no转载 2013-06-27 18:36:51 · 832 阅读 · 0 评论 -
Java冒泡排序
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作转载 2013-06-27 18:39:54 · 621 阅读 · 0 评论 -
快速排序
快速排序的基本思想: 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。 先看一下这幅图: 把整个序列看做一个数组,把第零个位置看做中轴,和最后一个比,如果比它小交换,比它大不做任何处理;交换了以后再和小的那端比,比它小不交换,比他大交换。这样循环往复转载 2013-06-27 19:10:22 · 679 阅读 · 0 评论 -
冒泡算法
public static void main(String[] args) { int temp; int[] aa = {22,23,55,78,223,8872,2,546,934,2,57}; for(int i = 0; i for(int j = 0; j if(aa[j] > aa[j+1]){ temp = aa[j+1]; aa[j+1] = aa[j]; a原创 2012-03-10 16:42:38 · 670 阅读 · 1 评论