随笔分类 -  数据结构和算法

摘要:bitset结构解海量数据的问题。 位图是内存中连续二进制bit,用于对海量数据的去重和查询。char是一个字节,8个位。如果要把整数10映射到位图,需要找到第二个char数据,然后再找到第二个char的第二个bit。1G=1024M 1M=1024KBbitset存储二进制位bitset就像一个b 阅读全文
posted @ 2022-03-05 21:11 花与不易 阅读(62) 评论(0) 推荐(0) 编辑
摘要:先说自己发现的点。 在图的遍历中,是得到从一个点到另一个点的所有路径,所以visited数组是为了防止在这两个点构成的环里面绕圈圈。 在图的拓扑排序中,是判断从每一个点出发有没有环,所以使用onPath数组起到和上面visited数组一样的作用判断是不是有环。但是在拓扑排序里面,有可能从A点出发刚好 阅读全文
posted @ 2022-03-04 10:49 花与不易 阅读(241) 评论(0) 推荐(0) 编辑
摘要:题目:有一个带有四个圆形拨轮的转盘锁,每个拨轮都有0-9一共10个数字。每个拨轮可以上下旋转:例如把9变成0,或者0变成9,每次旋转只能将一个拨轮旋转一下。转盘锁的四个拨轮初始都是0,用字符串"0000"表示。现在给定输入一个列表deadends和一个字符串target,其中taeget代表可以打开 阅读全文
posted @ 2021-08-06 16:07 花与不易 阅读(103) 评论(0) 推荐(0) 编辑
摘要:采用队列实现,BFS,功能:BFS层次遍历打印、按照节点将BFS序列化成一个字符。 #include <iostream> #include <string> #include <queue> using namespace std; struct TreeNode { int val; TreeN 阅读全文
posted @ 2021-08-06 11:02 花与不易 阅读(112) 评论(0) 推荐(0) 编辑
摘要:三个功能:先序遍历打印、节点先序遍历序列化、字符串先序遍历反序列化 #include <iostream> #include <string> #include <vector> using namespace std; struct TreeNode { int val; TreeNode* le 阅读全文
posted @ 2021-08-06 11:00 花与不易 阅读(154) 评论(0) 推荐(0) 编辑
摘要:参考先序遍历,自己实现了一遍c++后序遍历的三个功能:递归打印、序列化成字符串输出、字符串反序列化(通过vector数组转化)。代码如下。 思路:反序列化要注意的点就是,和先序遍历不一样,先序遍历是第一个就是根节点,而后序遍历是后面是根节点。 所以我选择先转化成vector数组,然后通过.back和 阅读全文
posted @ 2021-08-06 10:53 花与不易 阅读(337) 评论(0) 推荐(0) 编辑
摘要:*插入排序(1)直接插入,对比元素和从头到尾每个元素的关系,把一个元素插入到一个有序的数组。(2)折半插入,参考二分算法,找到大于元素的那个位置,把元素插到它的前面,也是插入到有序数组。(3)希尔排序也是插入排序的一种,又叫做缩小增量排序。就是把一组元素分成n组,0,0+n,0+2n…1,1+n+1 阅读全文
posted @ 2021-03-08 10:45 花与不易 阅读(50) 评论(0) 推荐(0) 编辑
摘要:一、常用操作 1、头文件 #include <algorithnm> 2、使用方法 (1)binary_search:查找某个元素是否出现 函数模板:binary_search(arr[ ], arr[ ] + size, index) 参数说明: arr[ ]:数组首地址 size:数组元素个数 阅读全文
posted @ 2021-02-17 13:22 花与不易 阅读(180) 评论(0) 推荐(0) 编辑
摘要:一、图的四种存储方式 //下面是图的存储 //(1)邻接矩阵法 #define MaxVertexNum 100 typedef char VertexType; typedef int EdgeType; typedef struct { VertexType Vex[MaxVertexNum]; 阅读全文
posted @ 2021-01-29 13:59 花与不易 阅读(76) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示