算法(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 · 1144 阅读 · 0 评论 -
小笔记——红黑树
红黑树 是一种特殊的二叉查找树。红黑树每个节点上都有存储为表示节点的颜色,可以是红或黑 特点 每个节点是黑色或者是hongse 根节点是黑色 每个叶子节点(NIL or NULL)是黑色 如果一个节点是红色的,则它的叶子节点必须是黑色的 从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点 红黑树的基本旋转 1. 左旋 伪代码: // 先考虑子节点,再考虑父结点,最后考虑两者相互的关系 left-rotate(T, x) y = x->right // 原树 x->right原创 2021-04-20 22:11:08 · 83 阅读 · 0 评论 -
《算法设计与分析基础》--- 最大公约数
gcd(m,n):代表能够整除m与n的最大正整数1. 欧几里得算法:Euclid(m,n)2. 使用中小学寻找最大公约数的方法2.1 埃拉托色尼筛选法(找质数)2.2 基于Sieve()实现最大公约数 1. 欧几里得算法:Euclid(m,n) step1:若n=0,返回m,过程结束;否则进入step2 step2:m除以n,将余数赋值给r step3:将n的值给m,将r的值给n,返回step1 代码实现如下: int Euclids(int m, int n){ while(n!=0){原创 2020-09-27 09:46:16 · 560 阅读 · 0 评论