
数据结构与算法
文章平均质量分 55
方tongxue
Github账号:https://github.com/fangchao1086
展开
-
LeetCode解题主要方法归纳
本文主要归纳了一些leetcode问题的解题方法原创 2023-08-13 16:32:44 · 317 阅读 · 0 评论 -
STL容器
STL容器原创 2023-06-07 22:14:31 · 320 阅读 · 0 评论 -
二分查找_模板
本文主要介绍了二分查找,同时给出了模板原创 2023-05-31 22:10:05 · 149 阅读 · 0 评论 -
回溯算法-DFS
回溯原创 2023-05-21 21:07:17 · 400 阅读 · 0 评论 -
LeetCode热题Hot100
hot100 leetcode原创 2022-09-20 00:27:18 · 524 阅读 · 0 评论 -
C++实现LeetCode(1-150)
LeetCode_CPP版题目及答案1、两数之和2、两数相加3、无重复字符的最长子串(medium)4、两个有序数组的中位数(hard)5、最长回文子串(medium)6、Z字形变换7、整数反转8、字符串转换整数(atoi)9、回文数10、正则表达式匹配11、盛最多水的容器(medium)12、整数转罗马数字13、罗马数字转整数14、最长公共前缀15、三数之和16、最接近的三数之和17、电话号码的字母组合18、四数之和19、删除链表的倒数第N个节点20、有效的括号21、合并两个有序链表(easy)22、括.原创 2020-06-07 23:13:40 · 2569 阅读 · 0 评论 -
C++实现图的拓扑排序
LeetCode-210课程表 II深度优先遍历dfs广度优先遍历bfs问题现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例 1:输入: 2, [[1,0]]输出: [0,1]解释: 总共有 2 门课程。原创 2020-05-17 14:55:08 · 1416 阅读 · 0 评论 -
广度优先遍历-BFS
广度优先遍历实现方式:队列以题为例:给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。输入:0 0 00 1 01 1 1输出:0 0 00 1 01 2 1广度优先遍历实现原理:假设对于1个位置为0,则有如下_ _ _ _ _ 1 _ _ 2 1 2 _ 2 1...原创 2020-04-15 09:31:15 · 2139 阅读 · 0 评论 -
圆圈中最后剩下的数字_CPP实现原理(约瑟夫环问题)
问题0,1,n-1这n个数字排成一个圆圈。从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈。每次删除第三个数字。第一次:2第二次:0第三次:4第四次:1解决原理在n个数中最后留下来的数 = 在n中去除一个m后剩下n-1个数中留下来的数在0-n-1个数:0,1,2,m-2,m-1,m,…,n-1...原创 2020-03-31 13:21:09 · 276 阅读 · 0 评论 -
C++实现二叉树问题
1、树的子结构核心:递归实现//子结构pRoot2//ps:约定空树不是任意一个树的子结构class solution{public: bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2){ if(pRoot1==NULL || pRoot2==NULL) return fasle; ...原创 2019-03-04 16:25:54 · 535 阅读 · 0 评论 -
c++解决链表问题
c++解决leetcode中的链表问题原创 2019-03-04 16:26:12 · 511 阅读 · 0 评论 -
各种排序算法的时间空间复杂度
排序方式平均时间复杂度最坏时间复杂度最好时间复杂度空间复杂度稳定性备注冒泡O(n2)O(n^2)O(n2)O(n2)O(n^2)O(n2)O(n)O(n)O(n)O(1)O(1)O(1)稳定最坏比较次数n(n−1)2\frac {n(n-1)} 22n(n−1)选择O(n2)O(n^2)O(n2)O(n2)O(n^2)O(n2)O(n2)O(...原创 2019-03-06 17:22:25 · 27472 阅读 · 2 评论 -
二叉树的序列打印 -- C++实现(前、中、后序)
class TreetoSequence{public: vecotr<vector<int>> convert(TreeNode* root){ vector<vector<int>> res; vector<int> temp; first(root,temp); ...原创 2019-03-08 10:57:19 · 832 阅读 · 0 评论 -
C++实现各种排序
冒泡(平均时间复杂度:n2n^2n2)class Solution{public: int* bubbleSort(int* A,int n){ for(int i=0;i&amp;lt;n-1;i++){ for(j=0;j&amp;lt;n-1-i;j++){ if(A[j]&amp;gt;A[j+1]) ...原创 2019-03-05 16:41:20 · 949 阅读 · 4 评论 -
python实现各种排序
冒泡:def bubble_sort(arry): #获得数组的长度 n = len(arry) for i in range(n): for j in range(1,n-i): #如果前者比后者大 if arry[j-1] > arry[j] : ...原创 2019-03-25 09:41:35 · 260 阅读 · 0 评论 -
并查集问题
参考:https://blog.youkuaiyun.com/qq_33677789/article/details/51296929原创 2019-03-13 16:57:20 · 266 阅读 · 0 评论