会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
放飞梦想C
学习是一种信仰!
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
···
19
下一页
2022年8月27日
C++ Protobuf
摘要: Protobuf protobuf (protocol buffer) 是谷歌内部的混合语言数据标准。通过将结构化的数据进行序列化(串行化),用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。 序列化: 将结构数据或者对象转换成能够用于存储和传输的格式。 反序列化: 在其
阅读全文
posted @ 2022-08-27 22:27 放飞梦想C
阅读(1602)
评论(0)
推荐(0)
2022年8月25日
C++11实现的数据库连接池
摘要: 它什么是? 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;类似的还有线程池。 为什么要用? 一个数据库连接对象均对应一个物理数据库连接,每次操作都打开一个物理连接,使用完都关闭连接,这样造成系统的性能低下。各种池化技术的使用原因都是类似
阅读全文
posted @ 2022-08-25 14:58 放飞梦想C
阅读(412)
评论(0)
推荐(0)
2022年7月20日
快速排序及优化
摘要: 快速排序 每次从当前考虑的数组中选一个元素,把这个元素想办法挪到应该排好序的位置,比如4这个元素,它就有一个性质4之前的元素都是小于它的,之后的元素都是大于它的,之后我们要做的事情是对小于4和大于4的数组分别继续使用快速排序的思路,逐渐递归下去完成整个排序过程。 对于快速排序如果把选定的元素挪到正确
阅读全文
posted @ 2022-07-20 01:34 放飞梦想C
阅读(655)
评论(2)
推荐(2)
2022年7月19日
归并排序及优化
摘要: 归并排序 首先把数组分成一半,想办法把左右两边数组排序,之后呢再将它们归并起来,这就是归并排序的基本思想。 这样的话如果有N个元素,就会分成log(n)层,如果整个归并过程我们可以以O(n)时间复杂度解决的话,那么我们就设计成了一个 Nlog(n)级别的排序算法。 这个归并的过程需要O(n)的辅助空
阅读全文
posted @ 2022-07-19 13:33 放飞梦想C
阅读(166)
评论(0)
推荐(0)
2022年7月18日
选择排序/插入排序/冒泡排序
摘要: 选择排序 首先在这整个数组范围里找到最小的元素1,然后和第一名的位置交换,之后我们在剩下的部分再找最小的元素2,把2和第二名的位置来交换,以此类推。 selectionSort template<typename T> void selectionSort(T arr[], int n) { for
阅读全文
posted @ 2022-07-18 20:08 放飞梦想C
阅读(111)
评论(0)
推荐(0)
2022年7月13日
哈希表(HashTable)
摘要: 哈希表 哈希表:也叫做散列表。是根据关键字和值(Key-Value)直接进行访问的数据结构。也就是说,它通过关键字 key 和一个映射函数 Hash(key) 计算出对应的值 value,然后把键值对映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数(散列函数),用于存放记录的
阅读全文
posted @ 2022-07-13 21:19 放飞梦想C
阅读(253)
评论(0)
推荐(0)
2-3树/红黑树
摘要: 2-3树 为了维护2-3树绝对平衡的性质,插入结点时就要符合一下逻辑: 添加结点不能添加到空位置,除非此时整个树为空。 如果按照二分搜索树的方式插入元素,如果插入位置为空,此时和最后找到的那个叶子节点融合。 红黑树 添加 左旋转 颜色翻转 右旋转 性能 Github Code #pragma onc
阅读全文
posted @ 2022-07-13 19:08 放飞梦想C
阅读(61)
评论(0)
推荐(0)
AVL树
摘要: 二叉查找树(BST) 平衡二叉树 平衡因子: 某个结点的左子树的高度减去右子树的高度得到的差值。 插入或删除节点后,可能会造成 AVL 树的平衡被破坏,因此,需要沿着从被插入/删除的节点到根的路径对树进行维护。就是在树的某一部分的不平衡度超过一个阈值后触发相应的平衡操作,保证树的平衡度在可以接受的范
阅读全文
posted @ 2022-07-13 16:23 放飞梦想C
阅读(58)
评论(0)
推荐(0)
2022年7月8日
并查集(UnionFind)
摘要: 并查集和其他树形结构不一样,是由孩子指向父亲,它解决了一些连接问题,怎么才能确定两个点是否相连呢?并查集可以非常快的确定两个点是否连接。 如何确定连个点是否连接呢? 我们可以用一个数组表示,对于0到9每个不同的编号可以表示不同的对象,这里可以看作一个点,而编号对应的不同的元素可以表示不同的集合,其中
阅读全文
posted @ 2022-07-08 19:59 放飞梦想C
阅读(94)
评论(0)
推荐(0)
2022年7月7日
字典树(Trie)
摘要: Trie最大的问题:空间!所以可以使用一下解决方案。 Code #pragma once #include <map> class Node { public: explicit Node() noexcept: isWord(false) {} explicit Node(bool isWord)
阅读全文
posted @ 2022-07-07 16:57 放飞梦想C
阅读(30)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
···
19
下一页
公告