
算法
小道名宇
无论你混成什么样子,你都要相信前途无量。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字符串hash
字符串hash是指将一个字符映射成一个整数,使得该整数可以尽可能地通过H§来唯一地表示字符串S。(令hash函数为H(P)=x*Range+y) 若字符串都由大写字母构成,可将A~Z视为0到25,按照二十六进制转换成十进制,实现将字符在映射为整数的需求 int hashFunc(char S[],int len) { int id=0; for(int i=0;i<len;i++) {...原创 2019-08-03 23:51:44 · 237 阅读 · 0 评论 -
递归思想
什么是递归呢?递归就是反复调用自身函数,但是每次把问题范围缩小,直到范围缩小到可以直接得到边界数据的结果,最后再在返回的路上得到相应的解。 递归的逻辑中有两个重要的概念: 递归边界,递归边界用来返回最简单底层的结果 递归式,也叫递归调用,递归式用来减少数据规模并向下一层递归 以下经典例子,求n! #include<stdio.h> int F(int n) { if(n==1) ...原创 2019-08-04 09:08:30 · 300 阅读 · 0 评论 -
用回溯法实现n皇后问题
首先说一下回溯法,如果在到达递归边界前的某层,由于一些事实导致已经不需要任何一个子问题递归,就可以直接返回上一层,这种方法叫做回溯法。 #include<cstdio> #include<cmath> const int maxn=50; int n,count=0,D[maxn],hashtable[maxn]={false}; void generateD(int in...原创 2019-08-04 16:20:03 · 639 阅读 · 0 评论 -
单链表删除最小值结点算法实现
单链表带头结点,删除一个最小值点,,此题在输出方面纠结了很久,所幸得到大佬指点迷津 以下是代码 #include<cstdio> #include<stdlib.h> typedef struct LNode { int data;//数据域 struct LNode *next;//指针域 }LNode, *Linklist; void Createlist(Lin...原创 2019-08-07 22:45:24 · 4512 阅读 · 3 评论 -
主元素查找算法实现
首先明白什么是主元素,一个整数序列,相同元素的个数大于序列元素的一半就是主元素,,另外元素取值不大于元素个数 下面是算法实现: #include<cstdio> const int maxn=50; int M[maxn],n; int majorcount(int M[],int n) { int temp,count=1;//temp用来保存候选主元素 temp=M[0];//...原创 2019-08-06 16:58:36 · 484 阅读 · 0 评论