Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Non-recursive traversal algorithm of middle order, first order and post-order traversal of binary tree (using stack, implemented by loop)

2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >

Share

Shulou(Shulou.com)06/01 Report--

Typedef struct TreeNode * BinTree;typedef BinTree Position; struct TreeNode {ElementType Data; BinTree Left; BinTree Right;}; BinTree BT;void InOrderTraversal (BinTree BT) / / Middle order traversal non-recursive traversal algorithm (using stack, implemented in loops) {BinTree Tunable BT; Stack S=CreakStack (MaxSize) / / create and initialize the stack S while (T | |! IsEmpty (S)) {while (T) {/ / keep to the left and push the nodes along the way into the stack Push (SMagart T); Tunable T-> Left;} if (! IsEmpty (S)) {T=Pop (S) / / Node pop-up stack printf ("% 5d", T-> Data); / (access) print node Tendt-> Right;// turn to the right subtree} void PreOrderTraversal (BinTree BT) / / preorder traversal non-recursive traversal algorithm (using stack, implemented with loop) {BinTree Tunable BT; Stack S=CreakStack (MaxSize) / / create and initialize the stack S while (T | |! IsEmpty (S)) {while (T) {/ / keep to the left and push the nodes along the way into the stack printf ("% 5d", T-> Data); / / (access) print node Push (SMagol T); tweak T-> Left } if (! IsEmpty (S)) {T=Pop (S); / / Node pop-up stack Tendt-> Right / / turn to the right subtree} void PostOrderTraversal (BinTree BT) / / Post-order traversal non-recursive traversal algorithm (using stack, implemented by loop) {BinTree T BT; Stack S = CreatStack (MaxSize); / * create and initialize stack slots / Stack Q = CreatStack (MaxSize) / * create and initialize stack Q to output reverse * / while (T | |! IsEmpty (S)) {while (T) {/ * keep to the right and push the nodes along the way into the stack * / Push (SMagart T); Push (QMague T); / * push the traversed nodes into the stack for reverse * / T = T-> Right } if (! IsEmpty (S)) {T = Pop (S); / * Node pop-up stack * / T = T-> Left; / * turn to left subtree * /}} while (! IsEmpty (Q)) {T = Pop (Q); printf ("% 5d", T-> Data); / * (access) print node * /}}

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Database

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report