
算法/数据结构
文章平均质量分 66
基于C/C++语言分享数据结构和算法之美。
非正经程序员
曾就职于某医疗领域行业Top大厂,现某创业公司负责软件架构设计;
擅长语言:C/C++、Python、Java;
擅长领域:计算机图形学、图像算法、音视频编解码、GPU并行计算、人工智能、架构设计等方向;
专注分享技术干货和工作经验,关注我,不迷路。
展开
-
剑指Offer之用两个栈实现队列
一:题目 用两个栈实现一个队列。完成在队列尾部插入结点和在队列头部删除结点的功能。二:题目分析 首先,让我们知道队列是“先进先出”的特性,而栈是“先进后出”的特性。那么使用两个栈实现一个队列的功能。我们可以想到的是一个栈用于作为入队列的容器,另一个栈可以用来作为出队列的容器。 根据栈的“先进后出”的特性,栈二中的内容可以存放栈一的栈顶元素。然后栈二的栈顶元素就是入队的第一个元素。那么就会有如下的操作步骤:入队列操作即就是入栈一的操作;出队列时,先判断栈二中是否有元素,有元素则出栈,原创 2021-08-01 00:21:31 · 367 阅读 · 1 评论 -
剑指Offer之重建二叉树
一:题目 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下的二叉树并输出它的头结点。二叉树结点的定义如下:struct BinaryTreeNode{ int m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight;}二:题目分析 首先,我原创 2021-07-26 00:38:12 · 187 阅读 · 0 评论 -
c# 四则混合运算算法
对于四则混合运算其实在大三的时候就接触过,但是由于当时自己太菜,只顾着玩游戏跳课了。所以这个算法一直没有用代码实现过。当时学霸还给我简单的讲了一下方法,只因身为学渣的我,只想对学霸说一句,道理我都懂,但是用代码怎么实现的呢。 这次写这个实现四则混合运算功能的原因是,在项目中看到大牛写了一个关于这个的功能,但是他用的是遍历二叉树和递归的原理,并且这段代码是在一个比较大的项目中层次结构比较复杂,实话说原创 2015-12-13 02:10:07 · 13658 阅读 · 4 评论