数据结构和算法其实很重要,无论是哪种语言都会用到它们,今天博主就来总结一下常用的七种排序算法,便于简单阅读,就c语言来实现了。 每个算法都按照从小到大排序。 冒泡排序(Bubble Sort) 原理 冒泡排序是一种简单的…
标签:算法
中文分词--最少单词数
中文分词算法在前两篇文章中介绍了正向最大匹配算法和逆向最大匹配算法 本篇文章主要介绍最少单词数算法。顾名思义,就是最少的单词数。 算法思想是首先查找词典中最长的单词,匹配看是不是所要分词的字符串的子串,如果是则就是分词的…
二叉查找树
二叉查找树的基本储存单位是节点,每个节点包含: 1. 键,用来识别和排序一个节点。(如:一个单词) 2. 值,是键的附属信息。(如:单词的定义,发音等信息) 3. 左子树和右子树。 用途:可以根据键查找到相应的值。 二叉…
【题解】英雄会第二届在线编程大赛·CSDN现场决赛:三元组的数量
题目链接: http://hero.csdn.net/Question/Details?ID=222&ExamID=217题目详情 {5 3 1}和{7 5 3}是2组不同的等差三元组,除了等差的性质之外,还有…
第一周hdu1872
欠打的小朋友。。。本来就水然后排序又不熟然后又快乐的把结构体忘了个乾乾净净。shit。再加上家事心事脑子干脆厘不清。然后就敲得好慢啊好慢啊~嘲笑鄙视什么的都无所谓啊~ 先把它晾出来。。。 内存228k,时间15ms。大致…
Gadgets-MD5加密
MD5加密 原生手写MD5加密方法: package com.wiimedia.mryl.utils; import java.security.MessageDigest; import java.security.N…
排序算法学习之快速排序算法
排序算法学习之快速排序算法 1. 快速排序算法的原理 快速排序算法的原理是选取一个值作为标志,将一个数组分为2部分,左边部分的数全部都比标志值小,右边部分都比标志值大,然后分别对左边数组和又边数组进行递归,直到排序完成。…
寻找丑数(ugly number)
【问题】 我们把把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数。 【分析】 很自然的我…
日学一算法---归并排序(java实现)
前两天看到11年的一道阿里实习生笔试题,要求写一个Merge Sort,如下: 分析Merge Sort的原理以及算法复杂度,并用最擅长的编程语言实现Merge Sort。 当时自己第一反应是递归写。 打开E…
冒泡排序
冒泡排序的关键是相邻的位置进行比较。对N个数据需要重复N-1遍,每一遍需要比较N-1个数据。所以是双重嵌套循环。 时间复杂度 O(N2) for (int i = 0; i < N-1; i++) { for (i…
模取幂运算
这本来是5.1前写的一个算法,可是一直没写好。因为数论这里有点东西没弄清楚,导致这个小问题搁置了很久(也因为还有其他事情要做,摊子铺的太大了)。最近做事情注意力不够集中,效率比较低,…
辗转相除
//求最大公约数和最小公倍数辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数最小公倍数等于两整数的乘积除最大公约数。 function gcd…