算法
文章平均质量分 87
ncst
这个作者很懒,什么都没留下…
展开
-
基于移动终端的大学生心理健康交互管理系统的研究与设计
最近在做心理健康方向APP的开发工作,将一些调研和研究结果与大家分享一下。摘要:近年来随着科技的不断发展和进步,移动智能设备逐渐融入到了我们的日常生活中。为了应对大学生在心理健康管理方面的大量需求,提出了一种基于移动端设备的大学生心理健康交互管理系统,该系统基于Android平台进行开发,通过网络传输与后台进行数据交互和信息管理,系统根据年轻大学生对常见的心理问题设计了不同的交互方式,提升了用户体验。此外,系统还考虑到了数据传输稳定性以及通信阻塞等方面的问题,并提出了一种分段数据传输算法,在测试中该算法原创 2021-01-21 15:16:51 · 2461 阅读 · 0 评论 -
hadoop教程---WordCount基础程序分析
分析 WordCount 程序我们先来看看 Hadoop 自带的示例程序 WordCount,这个程序用于统计一批文本文件中单词出现的频率,完整的代码可在下载的 Hadoop 安装包中得到(在 src/examples 目录中)。1.实现Map类见代码清单1。这个类实现 Mapper 接口中的 map 方法,输入参数中的 value 是文本文件中的一行,利用 StringT转载 2017-11-14 17:09:54 · 342 阅读 · 0 评论 -
EMD分解解析
项目上的理论研究看到一种方法EMD+SVD方法识别,看了下EMD算法意义跟傅立叶变换差不多,也是将信号分解为不同的频率,但是区别与傅立叶无线长时间与小波变换选定小波基的问题,EMD给出了自适应分解方法。关于时间序列平稳性的一般理解:所谓时间序列的平稳性,一般指宽平稳,即时间序列的均值和方差为与时间无关的常数,其协方差与时间间隔有关而也与时间无关。简单地说,就是一个平稳的时间序列指的转载 2017-05-02 11:33:01 · 22379 阅读 · 3 评论 -
常用的排序算法综述
1. 插入排序1.1 性能分析时间复杂度O(n^2), 空间复杂度O(1)排序时间与输入有关:输入的元素个数;元素已排序的程度。最佳情况,输入数组是已经排好序的数组,运行时间是n的线性函数; 最坏情况,输入数组是逆序,运行时间是n的二次函数。1.2 核心代码 public void sort(){ int temp; for(i原创 2017-04-06 10:13:09 · 517 阅读 · 0 评论 -
循环队列以及full/empty条件的判断
为了方便起见,约定:初始化建空队时,令 front=rear=0, 当队空时:front=rear 当队满时:front=rear 亦成立 因此只凭等式front=rear无法判断队空还是队满。 有两种方法处理上述问题: (1)另设一个标志位以区别队列是空还是满。 (2)少用一个元素空间,约定以“队列头指针front在队尾指针rear的下一个位转载 2017-04-12 19:22:31 · 1745 阅读 · 0 评论 -
java 中的移位运算符
>> : 右移运算符,num >> 1,相当于num除以2>>> : 无符号右移,忽略符号位,空位都以0补齐原创 2017-03-16 16:23:42 · 447 阅读 · 0 评论 -
总结的binary search 模版
start + 1 < end start + (end - start) / 2 A[mid] == , <, > A[start] A[end] ? target原创 2017-03-14 10:55:42 · 333 阅读 · 0 评论 -
DFS Deep First Search Tips
1.遇到寻找所有方案的为题,一定是使用DFS。 90%的DFS问题,要么是排列要么是组合。问题模型:求出所有满足条件的“组合”判断条件:组合中的元素是顺序无关的。时间复杂度应该是与 2^n相关的。其中全字集问题就是非常典型的组合搜索的问题。原创 2017-03-19 00:22:22 · 309 阅读 · 0 评论 -
Meger Sort
Meger Sort 也是一种比较常用的算法。这种算法的时间复杂度是O(nlogn),时间复杂度虽然比quick sort要好,但是该算法的空间复杂度为O(n), but quick sort is O(1), 所有快速排序算法又叫做原地排序算法,整合排序算法的是一种先局部后整体的方法,与快速排序的过程正好相反。但是整合排序是一种稳定的排序算法。可是由于整合排序和算法的空间复杂素非常大,所以该方法在原创 2017-02-14 12:40:59 · 445 阅读 · 0 评论 -
Quick Sort
Quick sort 是一种常用的算法。 quick sort 的常用算法实现。其中有三个重要的点求出pivot点,求去该点的时候可以使用 int pivot = nums[(start + end) / 2]; 不使用int pivot = nums[0] 或 int pivot = nums[end] 是为了避免出现时间复杂度为O(n ^ 2)的情况出现。当array是已经排序好的数组原创 2017-02-14 11:00:32 · 253 阅读 · 0 评论 -
Quick sort VS Merge sort
比较快速排序与归并排序的联系与区别:时间复杂度:都是 O(nlogn) 但是快速排序是平均 O(nlogn),归并排序是最好最坏都是 O(nlogn)空间复杂度:快速排序耗费 O(1) 的额外空间,归并排序不得不耗费 O(n) 的额外空间。排序稳定性:快速排序是不稳定的排序算法。归并排序是稳定的排序算法。http://baike.baidu.com/view/547325.htm 分治的思想:快速排原创 2017-02-13 21:49:46 · 402 阅读 · 0 评论 -
图的基础知识
【1】图的基本概念(1)图是由顶点集合以及顶点间的关系集合组成的一种数据结构。 Graph = (V,E) V是顶点的又穷非空集合;E是顶点之间关系的有穷集合,也叫边集合。 (2)有向图:顶点对是有序的;无向图:顶点对是无序的。 (3)无向边:若顶点Vi到Vj之间的边没有方向,则称这条边为无向边,用无序偶对(Vi,Vj)来表示。 如果图中任意两个顶点转载 2017-02-07 16:14:01 · 592 阅读 · 0 评论 -
时间复杂度公式
搜索的时间复杂度:O(答案总数 * 构造每个答案的时间) 举例:Subsets问题,求所有的子集。子集个数一共 2^n,每个集合的平均长度是 O(n) 的,所以时间复杂度为 O(n * 2^n),同理 Permutations 问题的时间复杂度为:O(n * n!)动态规划的时间复杂度:O(状态总数 * 计算每个状态的时间复杂度) 举例:triangle,数字三角形的最短路径,状态总数约 O(n原创 2017-02-05 10:19:04 · 1629 阅读 · 0 评论 -
二分法查找(java)
算法: 数据量比较大的时候,可以采用二分法查找以提高效率;采用二分法查找时,数据是按照一定的规律进行排列的. 基本思想:假设数据是按升序排序的,对于给定值 x,从序列的中间位置开始比较,如果当前位置值等于 x,则查找成功;若 x 小于当前位置值,则在数列的前半段中查找;若 x 大于当前位置值则在数列的后半段中继续查找,直到找到为止。public class Search { public原创 2016-11-05 23:23:22 · 261 阅读 · 0 评论