![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 67
tan20100102
这个作者很懒,什么都没留下…
展开
-
余弦相似度计算简易版
今天写了下余弦相似度计算的算法,之前在学校做项目的时候使用到了,一直没去整理。 所谓的字符串余弦相似度,就是把每个字符串比作一个向量,通过计算向量余弦值来判断字符串的相似程度,余弦值越接近1,说明两个字符串的相似度就越高,余弦值的计算公式为:(向量a*向量b)/(向量a的模*向量b的模) 实现如下:package demo.similarity;imp...原创 2013-10-29 10:38:41 · 868 阅读 · 0 评论 -
直接插入排序
学习算法主要学习其思想,本章将讲述插入排序的直接插入排序算法;主要思想:对于一个待排序的序列,我们假设第一个数已经为排好序的序列;并从第二个记录开始,往前比较,插入到有序序列当中,直至待排序序列最后一个记录插入结束。注:直接插入排序需要设立哨兵(用于存放待插入记录) public class StraightInsertionSort { private s...原创 2014-11-24 21:06:03 · 118 阅读 · 0 评论 -
选择排序
选择排序的主要思想:在第i趟排序中,将在待排序列中获取最小或者最大的元素与第i个元素交换位置;直到第n-1趟(也就是待排序列的倒数第二个) public class SelectSort { private static SortObj[] sortArray = { new SortObj(11,""),new SortObj(9,""),new So...原创 2014-11-26 00:17:33 · 115 阅读 · 0 评论 -
快速排序
快速排序的主要思想:第一步、在待排序列中选择一个基准数元素,第二步、将小于(或者大于)基准数的其他元素放到基准数元素的左边,将大于(或者小于)基准数的其他元素放到基准数元素的右边;第三步、对基准数元素左右两边的序列执行第二步的操作直到序列只有一个元素 public class QuickSort { private static SortObj[] sortA...原创 2014-11-26 22:18:20 · 98 阅读 · 0 评论 -
希尔排序
希尔排序的主要思想:1.设定若干个步长step2.将待排序列按照步长增量分为多个序列,比如步长是2,则将待排序列分为(1,3,5,7....)(2,4,6,8....)两个待排序列3.分别对若干个待排序列进行直接插入排序4.最后对整个序列做一次直接插入排序注:直接插入排序在序列有顺序的时候,效率很高 public class ShellSort { p...原创 2014-11-27 23:17:49 · 112 阅读 · 0 评论