【数据结构】
数据结构
paradox_1_0
自由、努力、向上。
展开
-
leetcode刷题. 547. 并查集算法复习
547. 朋友圈 ps:使用并查集的思想并不是最优的解法,这里只是想复习一下并查集的算法思想。 int findCircleNum(vector<vector<int>>& M) { int count_ = 0; int sideLen_ = M.size(); int parent_[1024] = { 0 };// 做初始化是一个好习惯 //...原创 2020-04-13 15:53:32 · 147 阅读 · 0 评论 -
leetcode刷题.226. 669. 100. 501二叉树easy基础
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ cla...原创 2020-04-06 14:25:22 · 116 阅读 · 0 评论 -
深度优先与广度优先搜索算法简单复习
测试有向图: 算法代码: #include<Windows.h> #include<stdio.h> #include<stdlib.h> #include<iostream> /* stl */ #include<vector> #include&...原创 2020-03-29 17:02:37 · 124 阅读 · 0 评论 -
Trie Tree字典树原理与实现 C++
字典树又称为前缀树或Trie树,是处理字符串常见的数据结构。 本文数据结构严格采用下面图示的结构进行编码,其中节点(圆圈内)内的数字左右分别表示{经过此节点的串数,此节点作为终结点的串数}。 所以将下图的字符串从左到又依次列出为: {a、a、ae、atfh、by、ca、cag、caf} 结构源码: /* @Author:z...原创 2019-12-11 14:22:57 · 262 阅读 · 0 评论 -
B - 树原理复习及实现 C++
B树又叫平衡多路查找树。一棵m阶的B树的特性如下: 树中每个结点最多含有m个孩子() 除根结点和叶子结点外,其它每个结点至少有个孩子 若根结点不是叶子结点(不是空树),则至少有2个孩子 所有叶子结点都出现在同一层,叶子结点不包含任何关键字信息(可以看做是外部接点或查询失败的接点,实际上这些结点不存在,指向这些结点的指针都为NULL) 每个非终端结点(最底层的非叶子节点)中包含有n个关键...原创 2019-12-07 17:47:16 · 292 阅读 · 0 评论 -
leetcode刷题(一)
1.判断两颗二叉树是否相等 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; //判断二叉树是否相等的函数 bool isEqual(TreeNode *T1, TreeNode *T2) { ...原创 2019-07-09 16:40:29 · 122 阅读 · 0 评论 -
LRU算法C++实现
1.算法概述 LRU算法(Leaset Recently used),或者说缓存调度算法。对于软件层面实现的缓存来说,其主要针对的是对磁盘上具有结构性组织的大型文件数据的随机读取。如果程序需要从磁盘上某个存放了一亿条数据的文件中读取id=xxx的某条数据,并且这条数据会被多次访问到(很好的满足局部性原理),如果每次都是从磁盘上查询并读取,那么程序的性能将会非常的低。试想,如果我们在内存中维护一段...原创 2019-07-25 16:42:33 · 3622 阅读 · 1 评论