
c++数据结构与算法
数据结构与算法
数据库内核
这个作者很懒,什么都没留下…
展开
-
【C++】string 相关成员函数详解(非常实用)
最近处于找工作-ing,大大小小公司的笔试、面试也进行了不少;在这个过程中,我发现很多公司都比较喜欢出有关 string 方面的试题(包含:笔试、面试)。下面针对,笔试常考、面试常问 string 相关成员函数做出介绍。翻译 2022-08-23 22:23:22 · 490 阅读 · 0 评论 -
数据结构常用排序算法
2、快速排序 3、插入排序 4、选择排序 5、桶排序 6、堆排序 7、归并排序原创 2022-07-14 16:00:05 · 243 阅读 · 0 评论 -
一文搞定 UDP 和 TCP 高频面试题!
文章链接:一文搞定 UDP 和 TCP 高频面试题! - 知乎说明:意在做笔记,方便后面学习!!!转载 2022-06-23 20:48:22 · 234 阅读 · 0 评论 -
Leetcode 算法解题思路总结
一、二叉树问题 二、查找问题 1、已知数组—无序状态 优先考虑:unordered_set、unordered_map 容器 原因1:两者的实现都是基于哈希表,其在插入和查找问题上时间复杂度很低,且高效,代价是消耗较多的内存; 原因2:两者都有 find() 内置函数,查找起来比较方便; 2、已知数组—有序状态 优先考虑:二分查找,套用模板; 注:在实现二分查找的过程中也可以考虑使用unordered_set、unordered_map 容器; 二分查找模板如下: //二分查找 in.原创 2021-09-29 17:55:49 · 986 阅读 · 0 评论 -
008 删除二叉搜索树中的节点[C++]
class Solution { public: TreeNode* deleteNode(TreeNode* root, int key) { // 1、明确当前节点的任务 if (root == nullptr) return root; if (root->val == key) { //第一种情况 //if(root->left==nullptr &.翻译 2021-10-14 22:10:44 · 154 阅读 · 0 评论 -
006 验证二叉搜索树[C++]
//如果当前节点会对下面的子节点有整体影响,可以通过辅助函数增长参数列表,借助参数传递信息; class Solution { public: bool isValidBST(TreeNode* root) { // 1、明确节点要做什么 // 2、其他扔给递归,但是如果当前节点会对下面的子节点有整体影像,可以借助辅助函数 return isValidBST(root, nullptr, nullptr); } .翻译 2021-10-14 09:58:45 · 189 阅读 · 0 评论 -
003 双向 BFS 实现解开密码锁的最少次数[C++]
//双向 BFS class Solution { public: int openLock(vector<string>& deadends, string target) { // BFS 模板,打印所有可能密码 unordered_set <string> q1, q2; unordered_set <string> dead; unordered_set <string.翻译 2021-10-02 01:05:22 · 297 阅读 · 0 评论 -
007 二叉搜索树的插入操作[C++]
class Solution { public: TreeNode* insertIntoBST(TreeNode* root, int val) { //明确一个节点要做的事 if (root == nullptr) return new TreeNode(val); if (root->val == val) return root; //其他扔给递归循环 if (root-.翻译 2021-10-14 10:00:24 · 154 阅读 · 0 评论 -
002 BFS 实现解开密码锁的最少次数 [C++]
// BFS class Solution { public: int openLock(vector<string>& deadends, string target) { // BFS 模板,打印所有可能密码 queue <string> q; unordered_set <string> version; unordered_set <string> dead;.翻译 2021-10-02 01:01:15 · 451 阅读 · 0 评论 -
004 DFS 回溯算法实现全排列问题[C++]
class Solution { public: vector<vector<int>> permute(vector<int>& nums) { vector<int> track; backtrack(nums, track); return res; } private: void backtrack(vector<int>& nums, v.翻译 2021-10-04 01:15:09 · 342 阅读 · 0 评论 -
005 回溯算法实现 N 皇后问题[C++]
class Solution { public: vector<vector<string>> res; public: vector<vector<string>> solveNQueens(int n) { vector<string> board; string str; // 初始化空棋盘 for (int i = 0; i < n; i.翻译 2021-10-04 15:53:56 · 236 阅读 · 0 评论 -
【C++】堆排序
堆排序详细解说转载 2021-09-16 14:45:43 · 89 阅读 · 0 评论