
算法
青木长风
人生如逆旅,且歌且叹,随遇而安。
csu-cs-17级
展开
-
next_permutation用法
当需要对一个序列中的元素进行全排列,可以使用该函数。 bool next_permutation(BidirectionlIterator first,BidirectionalIterator last); 包含于头文件 int a[]={1,2,3,4,5}; //产生所有下一组合,时间复杂度为n!,速度较慢 next_permutation(a,a+5); prev_permut...原创 2018-09-11 21:27:00 · 8237 阅读 · 0 评论 -
KNN实现手写数字识别(代码读懂后复现)
首先感谢https://blog.youkuaiyun.com/u012162613/article/details/41768407的分享! 所谓KNN就是对那个你要预测的点,找出其k个邻居,也就是距离他最近的k个点,这k个样本中出现频率最高的类别即作为测试样本的类别。 那么,这个距离一般用什么来计算呢? 一般有欧式距离、标准化欧式距离、马氏距离、余弦距离。 这里我们采用欧式距离: 即N维欧氏空间中两点x1...原创 2019-04-19 20:40:25 · 792 阅读 · 0 评论 -
LR回归复现
参考https://www.cnblogs.com/csu-lmw/p/10661475.html 代码目前还有bug未修复 from math import exp import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_iris from ...原创 2019-04-14 11:32:02 · 158 阅读 · 0 评论 -
天梯赛L2-004,L2-005,L2-006三题题解
因为最近报名了acm校赛,但是感觉自己好久没有做算法题了,为了能维护一下我这个大二老狗的脸,开始做几个算法题复习一下。 这里水题就不放上来了,先放几个树和集合的题。 https://pintia.cn/problem-sets/994805046380707840/problems/994805070971912192 L2-004 这是二叉搜索树吗? 这个题就是给你一个前序遍历的结果,让你判断是...原创 2019-04-13 19:59:12 · 186 阅读 · 0 评论 -
ID3决策树算法实现
首先对于ID3决策树我通过看书理解了其思想。 然后经过鱼佬的文章之后我学习了其算法实现。 感觉对代码的理解还是不够,很多地方还是没弄懂,要继续努力! 首先使用数据集 age,work,hourse,loan,class 青年,否,否,一般,否 青年,否,否,好,否 青年,是,否,好,是 青年,是,是,一般,是 青年,否,否,一般,否 中年,否,否,一般,否 中年,否,否,好,否 中年,是,是,好,...原创 2019-04-09 11:17:18 · 293 阅读 · 0 评论 -
迷宫问题(记录路径)压栈
上节课数据结构老师最后讲的迷宫问题。老师用的方法其实就是深度优先搜索。 这里用广度优先搜索解决迷宫问题,顺便温习一下最近学的栈。 用队列实现广度优先搜索。 用栈输出路径 using namespace std; int maze[5][5],vis[5][5]; int bu[4][2]={1,0,-1,0,0,1,0,-1}; struct node{ int x; int y; int n...原创 2018-09-28 19:04:19 · 416 阅读 · 0 评论 -
关于字符串读入
一、scanf(“%s”,str); 遇见空格或换行就停止。 二、cin>>str;与scanf(); 相似遇见空格或换行就停止;以文件结束。 三、gets(str); gets(str)函数与 scanf(“%s”,&str) 相似,但不完全相同,使用scanf(“%s”,&s) 函数输入字符串时存在一个问题, 就是如果输入了空格会认为字符串结束,空格后的...原创 2018-09-11 09:35:21 · 5001 阅读 · 0 评论 -
神奇STL之map
对于map,官方文档讲的是 Maps are associative containers that store elements formed by a combination of a key value and a mapped value, following a specific order. 即:映射是关联容器,它按照特定顺序存储由键值和映射值的组合形成的元素。 键值通常是用来排...原创 2018-09-14 11:39:03 · 179 阅读 · 0 评论 -
快速幂和矩阵快速幂
愿乘长风破万里浪原创 2018-09-13 17:32:08 · 251 阅读 · 0 评论 -
数论
数论基础 (a+b)%c=((a%c)+(b%c))%c (a*b)%c=(a%c)*(b%c) 判断素数: bool isprime(int x)//算法复杂度为O(根号n) { if(x<=1) return false; for(int i=2;i<=sqrt(x+0.5);i++){ if(x%i==0) ...原创 2018-09-13 17:10:51 · 187 阅读 · 0 评论 -
与二分查找类似的三分搜索
原理什么的都是相同的,三分搜索也是基于分治思想的查找算法。 但是我们仔细想想二分查找,是不是只适合单调函数。 而三分搜索可以用于凸函数和凹函数。 三分搜索同样有left和right,但是中点不再是一个mid,而是两个 midl=(left+right)/2; midr=(midl+right)/2; 因此可以判断出两个中点相对于函数极值的位置 懒得画图了,直接拿网上的一个图来解释一下。...原创 2018-09-10 10:15:14 · 1205 阅读 · 0 评论 -
关于归并排序
暑假集训的时候就有接触到归并排序,但是当时并没什么好好地去学习。开学之后数据结构老师提了好几次归并排序,我发现模板代码我已经忘的一干二净了。于是这两天重新学了一遍。 所谓归并排序,就是将两个排好序的序列归并在一起,形成一个新序列。 那么,如何得到排好序的序列呢,这里就体现了分治的思想。 我们可以将一个序列,分成两个,四个,八个….分到每个序列只有一个元素。那么这些序列就都是排好序的(因为每个...原创 2018-09-16 14:36:06 · 173 阅读 · 0 评论 -
算法之二分查找
二分查找是我接触的第一个算法。 但是其实我们最早接触的关于二分查找就是那个猜数字的游戏。 也就是,生成一百以内的随机数,给n次机会猜。 想必大家都知道一定是每次一半一半的猜才能快。 二分法原理不难,优点是查找次数少,速度快,性能好。 缺点则是要求必须是有序表。 下面直接上模板代码: (截图是为了不希望直接复制粘贴..还是要自己敲比较好…虽然二分是最简单的算法,但是自己敲的习惯还是...原创 2018-09-09 21:32:26 · 229 阅读 · 0 评论 -
TFIDF文本分析
TF-IDF是一种文本特征提取统计算法。 什么是词频? 词频(TF)即一个词语在文本中出现的频率。 文本总数(D):所搜集的所有文本数。 含关键词的文本数(Dw):含有某个词(关键字)的文本数目。 公式: TF-IDF(w)=TF(w)*IDF(w) TF(w)=w在所有文件中出现的次数/该文件的总词数。 IDF(w)=log(D/(Dw+1))//+1避免分母为0 IDF的作用: 降低具有普遍性...原创 2019-05-06 23:58:58 · 1728 阅读 · 0 评论