算法
fengwuJ
喜欢代码,喜欢学习
展开
-
java 算法之分治策略求最大子数组问题
首先,我们可以使用暴力方式求解最大子数组,编码思路:第一层循环遍历该数组,然后使用第二层循环寻找子数组,用第一层循环的 i 变量来记录寻找位置,然后向后依次遍历,进行累加计算,判断出最大值;java代码如下: //暴力方式求解(遍历) static int findMaxArray(int[] arr, int lenth) { int maxSum = 0; int su...原创 2018-04-10 23:16:57 · 675 阅读 · 0 评论 -
java算法之快速排序
快速排序算法:快速排序算法有点像分治策略的思想,主要是通过递归来实现对无序数组的拆分和排序,一次次的递归排序,当每一个无序数组按照一定规则变成有序数组的时候,那么整个数组都将有序。 快速排序算法思想:首先找到一个基准数,假设我们要从小到大排序,我们给该数组两个哨兵(左边为i哨兵,右边为j哨兵),哨兵位置分别位于a[0]和a[arr.lenth-1]; 以 a[0]为基准数,令j哨兵向...原创 2018-04-30 22:24:06 · 219 阅读 · 0 评论 -
java 数据结构算法 之 栈操作
简介:栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 特性:先进后出 元素操作:入栈(push),出栈...原创 2018-05-03 22:54:06 · 355 阅读 · 0 评论 -
java算法之堆排序
简介:堆排序(HeapSort),利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键字的记录变得简单。大根堆:Key[i]>=Key[2i+1]&&key>=key[2i+2]小根堆:Key[i]<=key[2i+1]&&Key[i]<=key[2i+2] 堆排序原理: ...原创 2018-04-28 22:32:29 · 156 阅读 · 0 评论 -
基于字符串匹配的SMMO Demo
package com.fengwuj.SMMOTest;//用户输入消息public class MsgInfo { private String AccessNO; private String FeatureStr; public MsgInfo() {} public MsgInfo(String AccessNo,String FeatureStr) { this.AccessNO...原创 2018-06-16 13:45:21 · 343 阅读 · 0 评论