二叉树的中序遍历
假设二叉树的结构如下面的数组,数组下标0为根节点,1为左孩子节点,2为右孩子节点。前序遍历我已经实现,现在我希望能够中序遍历这个二叉树,希望大家给出好的方法。
<br />//二叉树结构<br /> $array=array("-",array("+",array("a"),array("*",array("b"),array("-",array("c"),array("d")))),array("/",array("e"),array("f")));<br /> echo "<pre class="brush:php;toolbar:false">";<br /> print_r($array);<br /> echo "";
//前序遍历代码
function bianli($array){
foreach($array as $value){
if(is_array($value)){
bianli($value);
}else{
echo $value;
}
}
}
echo bianli($array);
PS(另求一个能下载英文学术论文的网站,毕设英文翻译需要用到,我从谷歌学术上面找的PDF版很不清晰,不知道有没有其他网站可以下载,希望大家能够推荐)
------解决方案--------------------
你给出的二叉树表示的不严密,每个节点宜用关联数组而不是下标数组表示
好在你的树是满的,不然极易产生误解
你的每个节点的下标分别表示
0 根 1 左孩子 2 右孩子
由二叉树遍历的定义,有
/* 前序遍历 */<br />function DLR($F) {<br /> if(isset($F[0])) echo $F[0];<br /> if(isset($F[1])) DLR($F[1]);<br /> if(isset($F[2])) DLR($F[2]);<br />}<br />/* 中序遍历 */<br />function LDR($F) {<br /> if(isset($F[1])) LDR($F[1]);<br /> if(isset($F[0])) echo $F[0];<br /> if(isset($F[2])) LDR($F[2]);<br />}<br />/* 后序遍历 */<br />function LRD($F) {<br /> if(isset($F[1])) LRD($F[1]);<br /> if(isset($F[2])) LRD($F[2]);<br /> if(isset($F[0])) echo $F[0];<br />}<br />
前序 -+a*b-cd/ef
中序 a+b*c-d-e/f
后序 abcd-*+ef/-

PHPsessionfilesarestoredinthedirectoryspecifiedbysession.save_path,typically/tmponUnix-likesystemsorC:\Windows\TemponWindows.Tocustomizethis:1)Usesession_save_path()tosetacustomdirectory,ensuringit'swritable;2)Verifythecustomdirectoryexistsandiswrita

ToretrievedatafromaPHPsession,startthesessionwithsession_start()andaccessvariablesinthe$_SESSIONarray.Forexample:1)Startthesession:session_start().2)Retrievedata:$username=$_SESSION['username'];echo"Welcome,".$username;.Sessionsareserver-si

The steps to build an efficient shopping cart system using sessions include: 1) Understand the definition and function of the session. The session is a server-side storage mechanism used to maintain user status across requests; 2) Implement basic session management, such as adding products to the shopping cart; 3) Expand to advanced usage, supporting product quantity management and deletion; 4) Optimize performance and security, by persisting session data and using secure session identifiers.

The article explains how to create, implement, and use interfaces in PHP, focusing on their benefits for code organization and maintainability.

The article discusses the differences between crypt() and password_hash() in PHP for password hashing, focusing on their implementation, security, and suitability for modern web applications.

Article discusses preventing Cross-Site Scripting (XSS) in PHP through input validation, output encoding, and using tools like OWASP ESAPI and HTML Purifier.

Autoloading in PHP automatically loads class files when needed, improving performance by reducing memory use and enhancing code organization. Best practices include using PSR-4 and organizing code effectively.

PHP streams unify handling of resources like files, network sockets, and compression formats via a consistent API, abstracting complexity and enhancing code flexibility and efficiency.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function
