![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 92
科院唐大大
一入ET深似海 从此节操是浮云
展开
-
密码学中的同态加密算法,保证数据的安全,你了解吗?
密码学中的同态加密算法,保证数据的安全,你了解吗?目录密码学中的同态加密算法,保证数据的安全,你了解吗?1:什么是同态加密?2:同态加密算法原理3:标准化进展4: 主流同态加密算法原理4.1(1)乘法同态加密算法1:什么是同态加密?同态加密(Homomorphic Encryption, HE) 是指满足密文同态运算性质的加密算法,即数据经过同态加密之后,对密文进行特定的计算,得到的密文计算结果在进行对应的同态解密后的明文等同于对明文数据直接进行相同的计算,实现数据的“可算不可见”。同态加密的实现效果转载 2020-08-16 18:20:33 · 10298 阅读 · 1 评论 -
排序算法在游戏中的应用,你确定你了解吗?(详细的图解带你实战)
排序算法在游戏中的应用,你确定你了解吗?(详细的图解带你实战)目录排序算法在游戏中的应用,你确定你了解吗?(详细的图解带你实战)1. 归并排序1.1 作为一种典型的分而治之思想的算法应用,归并排序的实现由两种方法:1.2 接下来看看效果演示的动态图1.3 算法分治笔记图(图片来源于菜鸟网)1.4 那么了解了过程,那你确定知道他在游戏中的应用吗?那我们来了解一下吧1.5 归并算法c++实现2.堆排序2.1 动态演示图2.2 堆排序在游戏中的应用,你了解吗?2.3堆排序的c++代码实现3.桶排序3.1桶排序原创 2020-08-16 18:04:07 · 2032 阅读 · 0 评论 -
数据结构(c++、c#)---栈,队列
数据结构(c++)–栈引用命名空间#include<stack>实例stack<int> s;for(inti i原创 2020-08-11 23:03:27 · 336 阅读 · 0 评论 -
平衡二叉树类的封装实现
平衡二叉树1.平衡二叉树: 二叉树的每一个结点的左右子树的深度差不超过1。2.自平衡二叉树: 红黑树(R-B tree)/AVL树/替罪羊树等;3.如何实现自平衡?1.LL型:在左子树的左孩子上添加新结点(右旋)![在这里插入图片描述](https://img-blog.csdnimg.cn/20200721110347262.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9i原创 2020-07-22 20:46:51 · 310 阅读 · 0 评论 -
深度优先搜索(depth first search(dfs)) 和 广度/宽度优先搜索(breath first search(bfs))
(一)深度优先搜索(depth first search(dfs)):沿着一个方向一直找,直到走不了,回到上一个分支,继续;dfs:解析1.将起始点放入path中,并且标记为走过2.dfs: 步骤:1.起点存入路径中: 先上下左右2.递归流程(x.y) 1:判断x,y是否是终点,如果是终点,递归结束 2.遍历x,y周围四个点 xx,yy { 1.判断xx.yy组成的点是否能走,(不是障碍物,没有走过,没有越界) 2..如果能走,递归XX.YY.组成的点(dfs(xx,yy)原创 2020-07-20 23:49:36 · 520 阅读 · 0 评论 -
c++数据结构面试题(附答案)
c++数据结构面试题(附答案)1.设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则一轮冒泡排序结束后的结果为?答案: 升序:15,14,18,20,21,36,10,40 降序:20,15,18,21,36,40,14,102.写一个函数实现选择排序?答案:void choiceSort(int n[], int size){for (int i = 0; i < size - 1; i++){ int k = i; //表示当前的最小原创 2020-07-20 12:38:40 · 2178 阅读 · 0 评论 -
双链表--迭代器、重载方法、使用类重写链表方法
双链表–迭代器、重载方法、使用类重写链表方法1: 双向链表的节点类1:数据成员:数据域/前驱指针/后继指针2:四大默认成员函数:构造/析构/拷贝构造/赋值3:成员函数4:新增功能Node.hclass Node{public : friend class List;//友元类 friend class Iterator; Node() :pFront(nullptr), pNext(nullptr) { } Node(int val, Node* pFront=nullpt原创 2020-05-30 11:36:11 · 465 阅读 · 1 评论 -
c++迭代器类Iterator的实现
c++迭代器类Iterator的实现**1:数据成员2:四大默认成员函数3:成员函数3.1:自增自减++/-- it++3.2:取内容3.3:== / !=3.4: +/- (it+2)3.5: ->(访问成员) (it).hp=it->hp;class Iterator{public: Iterator(int* pEle=nullptr); ~Iterator(); Iterator& operator++();//重载前置++ :先自增再运算(返回本身原创 2020-05-21 21:11:00 · 1046 阅读 · 0 评论 -
c++数据结构中的:循序表Vector
c++数据结构中的:循序表Vector线性表:分为顺序表和链表STL(Standard Template Library:标准模板库):1:Vector:循序表:(内存连续,可以通过下标访问)可以变大小的动态数组2 List:链表:**(内存不连续,不可以通过下标访问)3:Vector:添加元素#include <vector> vector<int > vi; for (int i = 1; i <= 10; i++) { vi.push_bac原创 2020-05-17 21:23:38 · 343 阅读 · 0 评论 -
c++数据结构-判断两个单链表是否相交,相交的第一个节点
c++数据结构-判断两个单链表是否相交,相交的第一个节点1:判断两个单链表是否相交//判断两个单链表是否相交(判断尾节点是否相同)bool isIntersect(ListNode* p1, ListNode* p2){ ListNode* pHead1 = p1; ListNode* pHead2 = p2; if (pHead1 == nullptr || pHead2 == nullptr) { return false; } while (pHead1->pNext原创 2020-05-17 21:17:53 · 621 阅读 · 0 评论 -
c++数据结构-判断链表是否有环,以及环长度,进入环的第一个节点
c++数据结构-判断链表是否有环,以及环长度,进入环的第一个节点1:判断单链表是否有环//判断链表是否有环(快慢指针,快指针走两步,慢指针每次走一步,如果相遇有环,如果走到终点没有环)bool hasCircle(ListNode* pHead){ //判断pHead是否为空或者只有一个节点 if (pHead == nullptr ) return false; //定义前后指针 ListNode* pAhead = pHead; ListNode* pBhead = pHead;原创 2020-05-17 21:13:13 · 599 阅读 · 0 评论 -
c++链表获取长度,链表翻转,查找链表倒数第K个节点以及中间点
c++链表获取长度,链表翻转, 查找链表倒数第K个节点以及中间点测试数据ListNode* pHead = new ListNode(); pHead->m_key = 1; ListNode* pNode = pHead; for (int i = 2; i <= 5; i++) { ListNode* pNew = new ListNode(); pNew->m_key = i; pNew->pNext = nullptr; pNode->pNe原创 2020-05-17 21:10:28 · 6075 阅读 · 0 评论