![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
DataDamon
苟日新,日日新,又日新!
展开
-
数据结构与算法——插入排序(Java实现)
/** * 插入排序的思想好比对手中的扑克牌排序; * 好比左手为空,桌面牌面朝下,我们每次拿 * 起一张桌面的牌,将其插入左手正确的位置, * 在插入过程中,将被插入的牌按某一顺序逐个 * 和左手的牌比较,找到正确的位置就停止 * **///伪代码如下:/** * insertion_sort() * for j=2 to a.length原创 2015-06-18 00:14:55 · 477 阅读 · 0 评论 -
数据结构与算法——希尔排序(Java实现)
算法背景: * 对于大规模乱序数组,插入排序很慢;因为它只能交换相邻元素 * ,因此元素只能从数组的一端一点一点地移动到另一端。 * 希尔排序为了加快速度,简单滴改进了插入排序,交换不相邻的 * 元素对数组的局部进行排序,并最终用插入排序将局部有序的数组 * 排序希尔排序思想 * 使数组中任意间隔为H的元素都是有序的,换句话说,一个H有序数原创 2015-06-18 01:36:21 · 419 阅读 · 0 评论 -
数据结构与算法——选择排序(Java实现)
一 算法思想: 每次循环(第i次循环),选择数组a中未排序的部分,将其数值最小(大)的数值和第i位数值替换。以此类推,直到排序结束。二 算法实现:public class selection { public static void sort(Comparable[] a) {//升序排列 int N=a.length; for(int i=0;i<N;i++)原创 2015-06-17 01:20:57 · 489 阅读 · 0 评论 -
数据结构与算法——二分查找法(Java实现)
二分查找法算法思想: 算法由静态方法rank实现,它接受一个整数键和一个有序的整数数组。如果整数键存在于数组中则返回它的索引,否则返回-1。* 算法使用两个标记变量lo,high,保证如果键值在数组中,则它一定在a[lo...hi]中* 然后方法进入一个循环,不断将数组中的中间键和被查找的键作比较* 如果被查找的键等于中间键,返回中间键索引mid;* 否原创 2015-06-01 22:27:55 · 600 阅读 · 0 评论