
算法
冯岳松
这个作者很懒,什么都没留下…
展开
-
全密态数据库
PodcryptDB是一个原型,提供一个最简单的全密态数据库架构,即CryptDB的极简版。客户端将语句中的数据加密,发给服务器进行存储。查询数据时从服务器获取密文,然后在客户端解密。明文只会在客户端,不会暴露在服务器,不会暴露到网络链路中。使用确定性加密DET能实现等值查询,使用保序加密OPE能实现范围查询,使用同态加密能实现数据计算。原创 2025-03-28 23:07:27 · 200 阅读 · 0 评论 -
选择排序 - c++实现
选择排序#include<iostream>#include<vector>using namespace std;void insertionSort(vector<int> &arr){ for(int i = 1; i < arr.size(); ++i){ int tmp = arr[i]; int j = i - 1; while(j >= 0 && arr[j原创 2021-10-21 16:06:13 · 94 阅读 · 0 评论 -
冒泡排序 - c++实现
冒泡排序#include<iostream>#include<vector>using namespace std;void bubbleSort(vector<int> &arr){ for(int i = 0; i < arr.size() - 1; ++i){ for(int j = 0; j < arr.size() - 1 - i; ++j){ if(arr[j] > arr[j原创 2021-10-21 15:46:07 · 99 阅读 · 0 评论 -
快速排序 - c++实现
快速排序#include<iostream>#include<vector>using namespace std;int partition(vector<int> &arr, int left, int right){ int pivot = arr[left], i = left, j = right; while(i < j){ while(j > i && arr[j] >= p原创 2021-10-21 15:34:13 · 102 阅读 · 0 评论 -
归并排序 - c++实现
归并排序#include<iostream>#include<vector>using namespace std;void merge(vector<int> &arr, int left, int mid, int right){ int i = left; int j = mid + 1; vector<int> tmp(right - left + 1); int k = 0; while(i原创 2021-10-21 15:03:49 · 103 阅读 · 0 评论 -
快速排序原理及实现
快速排序的步骤:从数组中选择一个基准数(选择哪一个没有关系,为了方便一般选第一个或者最后一个,也可以随机选择)。把小于基准数的数移动到基准数左边,大于基准数的数移动到基准数右边,和基准值相同的数可以放到任意一边。此时,基准数左边的所有值都小于右边的任意值。对于左右两边的子数组,重复以上操作,直到数组有序。如果可以开辟新数组保存结果,用python可以很快地写出代码。但如果要求不使用额外数组空间、在原地完成排序,应该怎么办呢?(面试、考试一般都要求这样)对于第二步,历史上曾提出过许多种方法,在现在原创 2021-03-20 16:15:52 · 115 阅读 · 0 评论 -
OMP + K-SVD算法实现图像去噪
OMP算法实现图像去噪,使用YaleB32数据集。使用前自行下载数据集并存放在: ./picture/DataSet/加上噪声的图像存放在: ./picture/LossPic/使用OMP算法去噪之后的图像: ./picture/RecPic/import numpy as npimport matplotlib.pyplot as pltfrom sklearn import linear_modelimport randomimport cv2import osfrom scipy原创 2021-03-15 15:02:17 · 1777 阅读 · 2 评论 -
动态规划详解
动态规划的入门,一般是从斐波拉契数列开始。该数列由0和1开始,后面的每一项数字都是前面两项数字的和,定义如下:F(0) = 0, F(1) = 1F(n) = F(n - 1) + F(n - 2), 其中 n > 1给定一个n,要求F(n),用递归方法可以很容易地解决这个问题,代码如下:def fib(self, n: int) -> int: if n == 0 or n == 1: return n return fib(n-1) + fib(原创 2021-01-12 12:37:44 · 293 阅读 · 1 评论