有关排序算法
xiaolong0211
这个作者很懒,什么都没留下…
展开
-
关于排序之选择排序
选择排序: 分为直接选择排序, 堆排序 直接选择排序 :第i次选取( i到array.Length-1中间)最小的值,放在i位置。 堆排序 : 首先,数组里面用层次遍历的顺序放一棵完全二叉树。从最后一个非终端结点往前面调整,直到到达根结点,这个时候除根节点以外的所有非终端节点都已经满足堆 得条件了,于是需要调整根节点使得整个树满足堆得条件,于是从根节点开始,沿着它的...原创 2010-12-28 13:27:42 · 63 阅读 · 0 评论 -
关于排序之交换排序
交换排序:包括冒泡排序,快速排序。 冒泡排序法:该算法是专门针对已部分排序的数据进行排序的一种排序算法。如果在你的数据清单中只有一两个数据是乱序的话,用这种算法就是最快的排序算法。如果你的数据清单中的数据是随机排列的,那么这种方法就成了最慢的算法了。因此在使用这种算法之前一定要慎重。这种算法的核心思想是扫描数据清单,寻找出现乱序的两个相邻的项目...原创 2010-12-28 13:33:28 · 69 阅读 · 0 评论 -
关于排序之二分查找特定元素
这是从CSDN的论坛上看到的一道题目,要求使用二分法从一个数组中查询出某特定数字是否存在,若存在,输出其位置。这是使用的非递归的方法实现的。源码:package com.zhaozy.sort; import java.util.Scanner; /** * 给定一个数组和一个特定的整数,找出整数在数组中的位置 * ...原创 2010-12-28 13:34:13 · 96 阅读 · 0 评论 -
关于排序之综述(转了大部分)
上次参加了一个公司的笔试,其中有一道题是:写出快速排序的原理,并要求写出代码。而自己当时只写出了原理,但没能写出代码,回来就开始研究各种排序的Java实现,发现其中有许多的难点,记得当年学习数据结构的时候还自认为自己学得还可以,当我看到快速排序的时候才发现,原来自己真的很菜,连原理都说错了,于是学习ing。1)分类:1)插入排序(直接插入排...原创 2010-12-28 13:34:51 · 79 阅读 · 0 评论 -
回文问题
/** * 最大长颠倒字符串 它的长度应该小于等于整个字符串(长度为L)的的一半 从假设最大颠倒长度为整个的1/2L * 然后查这个长度的颠倒字符串是否存在 存在就返回,不存在,则继续往下找1/2L-1,以此类推1/2L-1....一直到0。如果为0说明没有 * */ String string = "a123ghfuhg321asd131"; ...原创 2014-08-23 21:44:46 · 330 阅读 · 0 评论