算法
文章平均质量分 73
AI wins
这个作者很懒,什么都没留下…
展开
-
C++RAII技术以及在数据库连接池上的应用
C++RAII技术以及在数据库连接池上的应用C++ RAII数据库连接池C++ RAIIC++面向对象编程时,创建变量会执行构造函数,销毁对象时执行析构函数,若进程堆资源在构造函数中获取,在析构函数中释放资源,即实现了RAII,理论上该技术可以以用于任何的系统资源。数据库连接池一个常规的数据库连接池所包含的组件如下所示。//connection.hclass connection_pool{public: MYSQL *GetConnection(); //获取数据库连接 bool原创 2022-03-18 20:34:04 · 2266 阅读 · 0 评论 -
数据结构哈夫曼树
数据结构之哈夫曼树哈夫曼树与哈夫曼编码哈夫曼树构造算法哈夫曼编码(前缀编码)哈夫曼树与哈夫曼编码Huffman树,又称最优树,严格的满二叉树,是一类带权路径长度最短的树:即WPL=WPL=WPL=假设有n个权值不同的数目,则可以构造一棵含有n个叶子结点的二叉树,在所有的二叉树中,仅有带权路径长度最小的哪一个二叉树称为最优二叉树或赫夫曼树。因此,主要的问题是如何构造哈夫曼树与实现哈夫曼编码。哈夫曼树构造算法即小树汇大树,叙述如下:1)根据给定的n个权值{W1,W2,W3,Wn}构成n颗单节点子原创 2021-01-31 15:03:33 · 315 阅读 · 0 评论 -
数据结构哈希查找
数据结构之查找哈希查找哈希函数构造方法冲突解决办法哈希查找分析哈希查找哈希查找是通过设定的哈希函数H(key)和处理冲突的办法将关键字映射的一个地址集(区间),并将关键字在地址集中的“像”作为在表中的存储地址,这个表就是哈希表,对应的这个影响过程就是哈希造表或者散列。哈希函数构造方法直接定址法H(key)=a*key+b除数求余法H(key)=key mod p;(p<m)数字分析法观察关键字的数字分布,取其中几位作为哈希地址。随机数法H(key)=randm(key)平方取原创 2021-01-30 22:36:04 · 173 阅读 · 0 评论 -
数据结构二叉树
数据结构之二叉树二叉树定义与特性基本概念二叉树二叉树的定义与主要特性二叉树的实现及遍历(周游)二叉查找树(Binary search Tree)堆(Heap)霍夫曼(Huffman)编码树定义与特性一棵二叉树由结点的有限集合组成。或者由一个根结点以及两颗不相交的二叉树组成。这两颗二叉树分别称为这个根的左子树与右子树基本概念边子节点父节点路径路径长度祖先子孙结点深度:到根的路径长度+1;节点的层数:同深度;树的高度:最深节点的深度;叶节点:没有非空子树;原创 2021-01-29 22:59:57 · 968 阅读 · 0 评论 -
数据结构队列
数据结构之队列队列链式队列队列链式队列物理上不连续存储数据元素,通过附加下一元素地址指针实现队列功能。front: 队首元素的指针,rear: 队尾元素的指针。队首在链头,队尾在链尾。不需要头节点链式队列在进队时没有队满的问题,但有队空的问题。队空条件为:rear=NULL。(未完待续)...原创 2021-01-29 10:05:08 · 254 阅读 · 0 评论 -
数据结构排序
数据结构之排序算法排序影响因素相关概念常用算法插入排序交换排序排序按照递增或递减的顺序重新排列一组数据。是当前计算机学科中的中心任务,执行的最频繁的任务之一。#mermaid-svg-sAAVSEbLpwLwI7d3 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-sAAVSEbLpwLwI7d3 .lab原创 2021-01-28 17:58:46 · 466 阅读 · 2 评论 -
数据结构线性表
数据结构线性表定义相关概念表示方法与特点:线性表要素线性表的操作线性表实现方法:顺序表的编程方法基本原理顺序表的数据对象练习题目操作练习实际情景线性表数据结构可以从逻辑结构、物理(存储)结构、数据运算三个角度进行理解分析。逻辑结构包括线性结构(线性表、队列、栈)与非线性结构(树、图);物理结构包括顺序存储、链式存储、索引存储、散列存储;数据运算包括插入、删除、修改、查找、排序等。定义由类型相同的数据元素element)组成的有序列表。表中的元素的值与他的位置之间可以有或无联系,分为:有序线原创 2021-01-27 20:58:38 · 349 阅读 · 0 评论 -
c语言——银行家算法
学习完操作系统的课程后,我迫不及待地进行了银行家算法的编写。其中银行家算法的编写只需3步; 话不多说,直接进入代码分析。 完整代码如下:#include<iostream>#include<assert.h>using namespace std;#define num_of_resource 3#define num_of_binary 5clas...原创 2019-11-25 21:19:28 · 324 阅读 · 0 评论