算法(c++)
spadez一
这个作者很懒,什么都没留下…
展开
-
c++信号量实现生产者消费者模型
#include <iostream>#include <thread>#include <condition_variable>#include <mutex>#include <semaphore.h>#include <vector>using namespace std;//int empty_slot = 5;//int filled_slot = 0;sem_t empty_slot;sem_t fil原创 2022-04-12 16:32:27 · 1209 阅读 · 0 评论 -
小笔记——红黑树
红黑树是一种特殊的二叉查找树。红黑树每个节点上都有存储为表示节点的颜色,可以是红或黑特点每个节点是黑色或者是hongse根节点是黑色每个叶子节点(NIL or NULL)是黑色如果一个节点是红色的,则它的叶子节点必须是黑色的从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点红黑树的基本旋转1. 左旋伪代码:// 先考虑子节点,再考虑父结点,最后考虑两者相互的关系left-rotate(T, x)y = x->right // 原树x->right原创 2021-04-20 22:11:08 · 113 阅读 · 0 评论 -
《算法设计与分析基础》--- 最大公约数
gcd(m,n):代表能够整除m与n的最大正整数1. 欧几里得算法:Euclid(m,n)2. 使用中小学寻找最大公约数的方法2.1 埃拉托色尼筛选法(找质数)2.2 基于Sieve()实现最大公约数1. 欧几里得算法:Euclid(m,n)step1:若n=0,返回m,过程结束;否则进入step2step2:m除以n,将余数赋值给rstep3:将n的值给m,将r的值给n,返回step1代码实现如下:int Euclids(int m, int n){ while(n!=0){原创 2020-09-27 09:46:16 · 683 阅读 · 0 评论