自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 堆排序

子、父结点 代码 public class duiSort { public static void adJust(int[] array,int start,int end){ int tmp = array[start]; for(int i = 2*start+1;i <= end;i = 2*i+1){ ...

2018-05-18 16:10:26 110

原创 聚集相同的元素

聚集和基准相同的元素 使和基准元素相同的元素靠近基准位置,重新定义left与right位置 原理 代码 public class Test2 { /** * 找基准 * @param array * @param low * @param high * @return */ public static in...

2018-05-18 14:59:19 313

原创 随机选取基准法

基本的快速排序选取第一个或者最后一个元素作为基准。这样在数组已经有序的情况下,每次划分将得到最坏的结果。一种比较常见的优化方法是随机化算法,即随机选取一个元素作为基准。这种情况下虽然最坏情况仍然是O(n^2),但最坏情况不再依赖于输入数据,而是由于随机函数取值不佳。实际上,随机化快速排序得到理论最坏情况的可能性仅为1/(2^n)。所以随机化快速排序可以对于绝大多数输入数据达到O(nlogn)的期望...

2018-05-18 14:34:18 490

原创 快速排序(递归与非递归实现)

递归 public class QSort { /** * 找基准 * @param array * @param low * @param high * @return */ public static int partion(int[] array,int low,int high){ int t...

2018-05-16 16:09:59 4851

原创 shell排序算法

思想 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2 < d1重复上述的分组和排序,直至所取的增量dt=1,即所有记录放在同一组中进行直接插入排序为止。 原理 特性 Shell排序的执行时间依赖于增量序列。 好的增量序列的共同特征: ① 最后一个增量必须为1; ...

2018-05-16 15:56:49 786

原创 BF算法

思想 BF算法,即暴风(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。 代码 public class Test1 { /** ...

2018-05-13 15:28:55 336

原创 两个队列实现一个栈

出队原理 代码实现 class QueueLink{ int elem[]; /** * 队头 */ int front; /** * 队尾 */ int rear; /** * 当前循环内部有效循环个数 */ int usedSize = 0; int allS...

2018-05-11 15:55:21 106

原创 优先级队列:按照优先级存储数据

优先级队列 代码实现 class PrioLink{ class Entry{ int data; Entry next; int prio; public Entry(){ data = -1; next = null; prio = -1; ...

2018-05-11 15:22:34 636

原创 链式队列

链式队列 入队 代码实现 class LinkQueue{ class Entry{ int data; Entry next; public Entry(){ data = -1; next = null; } public Entry(i...

2018-05-11 15:04:15 177

原创 循环队列

循环队列 特性:先进先出,浪费一个数据单元,用来判断是否为满 原理 代码实现 class QueueLink{ int elem[]; /** * 队头 */ int front; /** * 队尾 */ int rear; /** * 当前循环内部有效循环个数 */ ...

2018-05-09 13:33:41 1796

原创 链式栈

链式栈 入栈 入栈使用头插法 出栈 出栈则为删除头结点的后一个结点 代码实现 class LinkStack{ class Entry{ int data; Entry next; /** * 无参构造方法 */ public Entry(){ ...

2018-05-09 13:23:35 105

原创 中缀表达式到后缀表达式的转换

运行级别的比较 规则: 1.相同等级的运算符,栈内高于栈外 2.栈外的左括号优先级最高 3.栈内的左括号优先级最低 4.栈外的右括号优先级最低(低到和栈内的左括号相同) public class Constant { public static final int OPERATORS_PRIO_PLUS_IN = 4; //栈内加法 public static fin...

2018-05-09 13:14:10 130

原创 循环单链表、双向链表以及顺序栈

1.循环单链表 循环单链表的结构: 循环单链表的头插 循环链表的尾插 循环链表的删除 代码: class TestClink{ class Entry{ int data; Entry next; //无参构造方法 public Entry(){ this....

2018-05-06 15:20:08 237

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除