
Algorithm
文章平均质量分 67
Notzuonotdied
一个人优秀的可怕的三个迹象:高度的自律,近乎疯狂的努力;对自己好,学会不计代价的投资自己;相信自己,不在乎他人的眼光。
展开
-
文本相似去重 SimHash
前言SimHash是Google在2007年发表的论文《Detecting Near-Duplicates for Web Crawling》中提到的一种指纹生成算法或者叫指纹提取算法,被Google广泛应用在亿级的网页去重的Job中,作为Locality Sensitive Hash(局部敏感哈希)的一种,其主要思想是降维。原理优势使用降维处理,大大降低了比较的次数,提高了计算的效率。...原创 2019-07-30 23:34:41 · 507 阅读 · 0 评论 -
约瑟夫圆环的三种解决方案
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后[1] 结果+1即为原问题的解。第一种# include <iostream>using names原创 2017-01-13 08:44:09 · 1996 阅读 · 0 评论 -
图
数据结构——图原创 2016-12-03 16:46:48 · 889 阅读 · 0 评论 -
C++ 哈夫曼树的实现
我的源码主要是实现了哈夫曼树的基本功能,代码并没有进行更加好的优化,望见谅,如果你有好的idea,可以的话,告诉我一下,学习学习~原创 2016-11-06 15:10:51 · 8579 阅读 · 2 评论 -
树
本笔记是听郝斌老师视频和结合其他书所做的有关树和二叉树笔记原创 2016-10-14 22:16:56 · 1126 阅读 · 0 评论 -
C++汉诺塔
由来法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。原创 2016-09-30 15:41:19 · 1386 阅读 · 0 评论 -
循环单链表
# include # include /** * 时间:2016年6月25日 15:01:25 * 内容:循环单链表 */# define ListSize 100 struct Node { int data; struct Node *next; }; typedef struct Node ListNode; typedef struct Node *Lin原创 2016-06-25 16:11:07 · 463 阅读 · 0 评论 -
循环队列
#include /** * 时间:2016年6月12日 16:29:42 * 内容:循环队列 */#define QueueSize 40// 队列的最大长度 typedef char DataType;/* * 设立一个标志位,比如说是flag * 最开始时队列为空,设flag=0 * 当入队的时候让flag=1 * 出队的时候flag=0 * 然后再加上判断队头队尾原创 2016-06-12 16:30:21 · 647 阅读 · 0 评论 -
顺序队列
# include /** * 时间:2016年6月12日 15:12:07 * 内容:顺序队列 */# define QueueSize 40// 队列的最大长度typedef char DataType;typedef struct Squeue{ DataType queue[QueueSize]; int front,rear;}SeqQueue;void In原创 2016-06-12 15:26:13 · 1167 阅读 · 0 评论 -
顺序栈
# include # include # define StackSize 100/** * 时间:2016年6月10日 00:10:41 * 内容:顺序栈 */ typedef char DataType; typedef struct { DataType stack[StackSize]; int top; }SeqStack; void InitStack原创 2016-06-10 10:47:25 · 615 阅读 · 0 评论 -
迭代求阶乘
# include /** * 时间:2016年6月5日 11:22:23 * 内容:迭代 * 任何使用递归的方法都可以使用迭代来代替 */ long Iterator_Factorial(int); void Info(int*,int); int main(void) { int m; printf("求阶乘,请输入m的值 = "); scanf("%d"原创 2016-06-09 21:32:30 · 2816 阅读 · 0 评论 -
顺序查找
# include /** * 时间:2016年6月5日 09:54:18 * 内容:顺序查找 */int SequentialSearch(int*,int,int);void Info(int*,int);int main(void){ int a[10]={2,1,4,3,5,6,11,9,0,7}; Info(a,10); int num=SequentialSe原创 2016-06-09 21:31:01 · 716 阅读 · 0 评论 -
折半查找
# include /** * 时间:2016年6月5日 10:14:44 * 内容:折半查找 */int BinSearch(int*,int,int);void Info(int*,int);int main(void){ int a[10]={2,1,4,3,5,6,11,9,0,7}; Info(a,10); int num=BinSearch(a,10,6);原创 2016-06-09 21:22:37 · 596 阅读 · 0 评论 -
选择排序法
# include /** * 时间:2016年6月5日 09:53:12 * 内容:选择排序法 */void SelectSort(int*,int);void Info(int*,int);int main(void){ int a[10]={2,1,4,3,5,6,11,9,0,7}; Info(a,10); SelectSort(a,10); Info(a,10原创 2016-06-09 21:20:31 · 566 阅读 · 0 评论 -
递归排序
# include /** * 时间:2016年6月5日 11:27:44 * 内容:使用递归来实现排列组合 */# define SWAP(x,y,t) ((t)=(x),(x)=(y),(y)=(t)) void Permutations(char*,int,int); void Info(char*,int); int count=0; int main(void)原创 2016-06-09 21:18:51 · 762 阅读 · 0 评论 -
插入排序
# include /** * 时间:2016年6月5日 11:27:44 * 内容:使用递归来实现排列组合 */ void InsertionSort(int*,int); void Info(int*,int); int main(void) { int a[10]={1,9,5,6,7,2,4,3,0,8}; int length=10; Info(a,len原创 2016-06-09 21:16:52 · 589 阅读 · 0 评论 -
快速排序
简介快速排序(英语:Quicksort),又称为划分交换排序(partition-exchange sort),简称快排,一种排序算法,最早由東尼·霍爾提出。在平均狀況下,排序個个项目要(大O符号)次比较。在最坏狀況下则需要次比较,但这种狀況并不常见。事实上,快速排序通常明显比其他种算法更快,因为它的內部循环(inner loop)可以在大部分的架构上很有效率地运行。如果不明白原理,可以看看百度百...原创 2016-06-09 21:15:14 · 592 阅读 · 0 评论 -
归并排序
# include # include /** * 时间:2016年6月6日 00:20:00 * 内容:归并排序 */void Merge(int*,int *,int,int,int);void MergePass(int*,int*,int,int);void MergeSort(int*,int*,int);void Info(int*,int);int main(v原创 2016-06-09 21:12:17 · 498 阅读 · 0 评论