<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Main666的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Main666</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Main666]]></copyright><item><title><![CDATA[C++利用数组模拟栈进行中缀表达式求值--附源码 中缀表达式算法]]></title><link>https://blog.youkuaiyun.com/Main666/article/details/136546857</link><guid>https://blog.youkuaiyun.com/Main666/article/details/136546857</guid><author>Main666</author><pubDate>Thu, 07 Mar 2024 22:29:39 +0800</pubDate><description><![CDATA[//中缀表达式求值
//方法：开两个栈，操作符栈和数组栈
//从左到右扫描中缀表达式
//1. 当前位为数字：继续向后扫描直到读取完整个数字，将其放入数字栈中
//2. 当前位为左括号，直接放入操作符栈中等待和右括号配对
//3. 当前位为右括号，从操作符栈中读取到上一个左括号之后的所有运算符，
//   每读取一个就取数字栈中两个元素进行计算，并把结果放入栈中
//4. 当前位为运算符，如果栈顶元素优先级更高或者和当前运算符相等，就弹出
//   栈顶操作符，并进行计算，知道栈顶元素为左括号或者栈顶]]></description><category></category></item><item><title><![CDATA[KMP算法--实现匹配字符串的查询]]></title><link>https://blog.youkuaiyun.com/Main666/article/details/134584685</link><guid>https://blog.youkuaiyun.com/Main666/article/details/134584685</guid><author>Main666</author><pubDate>Thu, 23 Nov 2023 19:29:18 +0800</pubDate><description><![CDATA[1.构建next数组，方法是i从2开始计算每一位的next值，注意每次判断时是用p[i]和p[j+1]比较，如果不相等j就回退，j=ne[j] ，最后跳出循环判断是否p[i]和p[j+1]相等，相等就有j++。最后更新ne[i]=j。相当于每次的构建是基于以前的结果的，如果当前的j>0说明上一位的匹配是有结果的，那么这时候如果再次匹配的话，当前位的next值就是上次+1，如果不匹配了，就采用回退的方式，这样能尽可能找到匹配的，如果多次以后还不匹配j会为0。]]></description><category></category></item><item><title><![CDATA[高度为h的平衡二叉树的最少节点数(BFS+队列)]]></title><link>https://blog.youkuaiyun.com/Main666/article/details/134449156</link><guid>https://blog.youkuaiyun.com/Main666/article/details/134449156</guid><author>Main666</author><pubDate>Thu, 16 Nov 2023 19:32:08 +0800</pubDate><description><![CDATA[树从根结点开始往下数，叶子结点所在的最大层数称为树的高度（根节点在第1层）。某节点的左子树与右子树的高度(深度)差即为该节点的平衡因子，若一颗二叉树的所有节点的平衡因子都在集合{-1，0，1}中，则称该二叉树为平衡二叉树，现在要求你找出高度为h的平衡二叉树的最少节点数。]]></description><category></category></item><item><title><![CDATA[C++实现大整数计算器（高精度加减乘除）——————极易理解，源码直用]]></title><link>https://blog.youkuaiyun.com/Main666/article/details/134405073</link><guid>https://blog.youkuaiyun.com/Main666/article/details/134405073</guid><author>Main666</author><pubDate>Tue, 14 Nov 2023 18:45:37 +0800</pubDate><description><![CDATA[C++语言不像python等语言，由于其天然的特性，可以支持超大整数的计算。C++的最大整型long long范围仅有-9223372036854775808到9223372036854775807这显然无法满足某些情况下的需要，但是我们可以将超大整数存入数组，模拟加减乘除的过程，进而计算结果。以上就是今天要讲的内容，本文仅仅简单介绍了C++高精度计算的一种实现方法，后续可以开发C++专属的大整数类来进一步方便使用。]]></description><category></category></item><item><title><![CDATA[N皇后问题的DFS 解法(深度优先搜索解法)——极易理解]]></title><link>https://blog.youkuaiyun.com/Main666/article/details/134295977</link><guid>https://blog.youkuaiyun.com/Main666/article/details/134295977</guid><author>Main666</author><pubDate>Wed, 08 Nov 2023 19:31:54 +0800</pubDate><description><![CDATA[3. 对于每一行，遍历所有可能的列，从而确定一个皇后的位置，并且使该列的状态被标记为。对于这个问题，因为是求最终的摆法数，也就是要遍历所有可能的状态，由此想到应该用。行，要求每个皇后不同行，那么我们可以确定每行。5.如果递归到n个皇后，方案数+1，然后返回。依次对每行的皇后进行位置安排，即从第。是指在 n x n 的棋盘上要摆。(深度优先搜索)解决。]]></description><category></category></item><item><title><![CDATA[切面条问题——问题的转化]]></title><link>https://blog.youkuaiyun.com/Main666/article/details/133692140</link><guid>https://blog.youkuaiyun.com/Main666/article/details/133692140</guid><author>Main666</author><pubDate>Sun, 08 Oct 2023 23:42:48 +0800</pubDate><description><![CDATA[在我看来这个问题可以这样理解，对折两次切一刀可以看成把面条展开成对折一次的状态然后切两刀，同理对折三次切一刀可以看成把面条展开然后切4刀……那么对折10次切一刀就可以看成是切2^9刀，这样一共产生了512*2+1根面条。]]></description><category></category></item><item><title><![CDATA[C++计算两个日期之间相隔天数并指出各自的星期数程序（编译即用！）]]></title><link>https://blog.youkuaiyun.com/Main666/article/details/133663663</link><guid>https://blog.youkuaiyun.com/Main666/article/details/133663663</guid><author>Main666</author><pubDate>Sun, 08 Oct 2023 01:29:46 +0800</pubDate><description><![CDATA[C++计算两个日期之间相隔天数并指出各自的星期数程序]]></description><category></category></item></channel></rss>