![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 79
ITSOK_U
这个作者很懒,什么都没留下…
展开
-
二叉树的遍历总结
二叉树的遍历1.前序遍历1.1 递归前序1.2 利用栈模拟递归2.3 迭代3.后序遍历3.1 递归3.2 迭代3.3 直接迭代保存二叉树节点结构如下 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(nullptr), right(nullptr) {} TreeNode(int x) : val(x), left(nul原创 2022-05-02 14:43:14 · 1074 阅读 · 0 评论 -
栈和队列相互实现
1.用栈实现队列题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/implement-queue-using-stacks题目要求:实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek()返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false将一个栈当作输入栈,用于压入数据;另一个原创 2022-04-24 15:34:55 · 1349 阅读 · 0 评论 -
快速排序之C++实现
快速排序之C++实现1.快速排序之C++实现1.1 split划分1.2 partition划分2.具体代码1.快速排序之C++实现快速排序本质上是一个分治算法,其重点在于数组的拆分。当我们定义一个比较基准元素后,将数组中小于该基准元素的数放到其左边,将大于基准元素的放到其右边。这样我们就将数组拆分成了左右两部分:小于比较元素的数组;大于比较元素的数组。我们再对这两个数组进行同样的拆分,直到拆分到不能再拆分,数组就自然而然地以升序排列了。#mermaid-svg-a0BPjHIkxneJrz5l {f原创 2022-03-29 12:41:59 · 3672 阅读 · 0 评论