算法与数据结构
主要发布有关算法和数据结构的blog
Joshua_yi
一个热爱编程的研究生菜鸡~~
展开
-
canny opecv( c++ )实现
文章目录一、结果1、原图2、最终效果二、实现过程1、图片灰度化2、高斯滤波3、Sobel卷积核计算X、Y方向梯度和梯度角4、非极大值抑制5、双阈值6、双阈值连接处理代码参考文献一、结果1、原图2、最终效果二、实现过程1、图片灰度化 //转换为灰度图 Mat gray_image; cvtColor(row_image, gray_image, CV_RGB2GRAY); imshow("gray image", gray_image);2、高斯滤波原创 2021-04-19 17:36:23 · 266 阅读 · 0 评论 -
快速幂(c++)
a^n 正常实现得时间复杂度为O(n)快速幂得时间复杂度为O(log n)主要思想就是以二进制得角度看待 n比如 3113^{11}31111的二进制为1011现在就变成了3二进制10113^{二进制1011}3二进制10111011=23+22∗0+21+201011 = 2^3+2^2*0+2^1+2^01011=23+22∗0+21+20现在就成了323+22∗0+21+203^{2^3+2^2*0+2^1+2^0}323+22∗0+21+20转化一下323∗322∗0∗321∗原创 2021-04-14 05:30:37 · 473 阅读 · 0 评论 -
大数相加c++实现
class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 计算两个数之和 * @param s string字符串 表示第一个整数 * @param t string字符串 表示第二个整数 * @return string字符串 */ string solve(string s, string t) { // write code he原创 2021-04-09 18:47:01 · 233 阅读 · 0 评论 -
多RFDI标签读取冲突问题
注重版权,若要转载烦请附上作者和链接作者:Joshua_yi链接:https://blog.csdn.net/weixin_44984664/article/details/109704772文章目录一、引言(二)RFID技术(二)RFID多标签冲突问题二、面向比特的防冲突机制三、面向时隙的防冲突机制四、位和时隙相结合的防冲突机制五、确定性标签防冲突算法(一)简介(二)二进制树型搜索算法(BS)(三)基于位仲裁的二进制树算法(BBT)(四)修正的基于位仲裁的二进制树算法(MBBT)(五)动态二进制.原创 2020-11-15 15:46:33 · 3672 阅读 · 0 评论 -
完整过程 !!! 的 推荐系统评分预测——SVD与UserCF
非常适合推荐系统小白的小项目!!使用surprise SVD UserCF 进行推荐系统评分预测原创 2020-06-20 17:44:48 · 2128 阅读 · 1 评论 -
还在嫌弃作业不够秀?快来试试streamlit+heroku 搭建自己的炫酷app叭
大家好,我是练习时长一天的偶像练习生“陈独秀”!你们是否还在为平时作业不够秀,不够高大上,无法引起老师注意而苦恼?你们是否还在为向甲方爸爸汇报成果的时候,没有一个华丽的展示方法,秀的他两眼发光,连连叫好而头秃?千万不要错过,本篇文章教你使用strealit+heroku 搭建自己的炫酷app!!!原创 2020-04-28 08:43:58 · 3683 阅读 · 9 评论 -
分治策略及其应用
一、分治策略简介在很多情况下,分治策略有可能是简单而强有力的方法,可以用来提高算法的效率不要问我为什么,他就是这样的……大概的步骤有三部分1,将输入的数据分成若干部分2、递归的求解每个部分的问题3、将子问题的解组合成为一个全局的解二、应用领域分治算法可以被运用到许许多多的方面,可以充当其他算法的一个i组成部分,也可以稍做修改成为另一个算法,例如归并排序找平面上最邻近的点对问题...原创 2020-03-31 00:20:42 · 2850 阅读 · 0 评论 -
哈夫曼编码压缩和解压缩文件——C++实现
实现效果压缩前压缩后经验证解压缩前与解压缩后文本一致,无出入文件目录binaryTreeNode.hlinkedBinaryTree.h源.cpp代码如下binaryTreeNode.h#ifndef binaryTreeNode_#define binaryTreeNode_#include<vector>#include<bitset>...原创 2020-03-26 23:24:10 · 4020 阅读 · 0 评论 -
从左到右打印中缀表达式的树结构
题目要求输入一个中缀表达式,构造表达式树,以文本方式输出树结构。输入:例如,输入a+b+c*(d+e)输出:以缩进表示二叉树的层次,左——根、右——叶、上——右子树、下——左子树代码如下#include<iostream>#include<string>#include<fstream>#include<stack>#in...原创 2020-03-26 22:45:47 · 928 阅读 · 0 评论 -
双端队列问题 C++实现
题目要求所谓双端队列(double-ended queue,deque),就是在列表的两端都可以插入和删除数据。因此它允许的操作有Create、IsEmpty、IsFull、Left、Right、AddLeft、AddRight、DeleteLeft、DeleteRight。使用循环数组方式实现双端队列,要求实现上述操作,并实现一个Print输出操作,能将队列由左至右的次序输出于一行,元素间用...原创 2020-03-26 22:37:00 · 2044 阅读 · 0 评论 -
Josephus问题 C++实现
要求Josephus问题,n个人围坐成一圈,按顺序编号为1-n,确定一个整数m,从1号开始数数,每数到第m个人出列,剩下的人从下一个人重新开始数,直至只剩下一个人为止。对n=8,m=5,过程和结果如下图所示,黑色数字为编号,红色数字为出列顺序,最后剩下的是3号编写程序,对任意输入的n和m,求出最后剩下的人的编号。要求利用线性表保存这n个人,分别用公式化和链表两种描述方法实现。输入...原创 2020-03-26 22:30:18 · 1995 阅读 · 0 评论 -
递归求集合的子集
编写递归函数,求n个元素集合的所有子集。不妨令集合元素为小写字母,原集合为{‘a’, ‘b’, …, ‘a’ + n - 1}。输入:input.txt,仅包含整数n(1-26)。输出:若输入合法,输出集合的所有子集;否则输出“WRONG”。子集输出格式为每行一个子集,空集用空行表示,非空集合每个元素间用一个空格间隔,最后一个元素之后不能有空格。例如,对n=3,可能的输出为:―――――...原创 2020-03-26 22:22:26 · 1708 阅读 · 0 评论 -
函数递归之斐波那契数列
背景在函数递归问题中一个典型问题是求解斐波那契数列但是函数递归会面临着资源的大量消耗问题按照一种最为基本的写法#include<iostream>using namespace std;long long Fib(long long a) { if (a < 2) return a; else return Fib(a - 1) + Fib(a - 2)...原创 2020-03-26 21:17:41 · 370 阅读 · 0 评论 -
Kruskal算法——UnionFind数据结构实现并优化
一、概述最小生成树(MST, Minimum Spanning Tree)问题简单来说就是在多个地方修路路程的最短,或者在多个选择中选择花费做少的路线。求解最小生成树的算法的方法有Prim算法,Kruskal算法,以及Reverse-Delete algorithm(反向删除算法)比较而言prim算法适合稠密图,kruskal算法适合简单图。下面来用Kruskal算法实现最小生成...原创 2020-03-23 16:30:02 · 2657 阅读 · 0 评论 -
leetcode(2)
面试题03. 数组中重复的数字找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000class ...原创 2020-03-15 16:04:49 · 105 阅读 · 0 评论 -
Leetcode(1)
2. Add Two NumbersYou are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two n...原创 2020-03-13 23:55:52 · 113 阅读 · 0 评论 -
G-S稳定匹配算法详解
G-S稳定匹配算法详解GS算法是解决稳定匹配问题(stable matching)的一个优秀的算法。下面以男女配对的例子来介绍稳定匹配问题并阐述GS算法的具体步骤。GS算法,全称Gale-Shapley算法。一、问题描述及假设有n个单身男性集合M = {m1, m2, …, mn}和n个单身女性集合W = {w1, w2, …, wn}假设每个男性对不同女性的喜好程度都不同,...原创 2020-03-02 17:03:31 · 7404 阅读 · 3 评论