博客
关于我
Objective-C实现binary tree traversal二叉树遍历算法(附完整源码)
阅读量:793 次
发布时间:2023-02-17

本文共 2723 字,大约阅读时间需要 9 分钟。

Objective-C?????????

???????

?Objective-C?????????????TreeNode???????????????

@interface TreeNode : NSObject@property (nonatomic, strong) NSNumber *value;@property (nonatomic, strong) TreeNode *left;@property (nonatomic, strong) TreeNode *right;@end

???????

?????Preorder Traversal?

???????????????????????????????????

- (void)preorderTraversal:(TreeNode *)node {    if (node == nil) return;        // ????    NSLog(@"?????%d", node.value);        // ?????    if (node.left) {        [self preorderTraversal:node.left];    }        // ?????    if (node.right) {        [self preorderTraversal:node.right];    }}
?????Inorder Traversal?

?????????????????????????????????

- (void)inorderTraversal:(TreeNode *)node {    if (node == nil) return;        // ?????    if (node.left) {        [self inorderTraversal:node.left];    }        // ????    NSLog(@"?????%d", node.value);        // ?????    if (node.right) {        [self inorderTraversal:node.right];    }}
?????Postorder Traversal?

??????????????????????????????????

- (void)postorderTraversal:(TreeNode *)node {    if (node == nil) return;        // ?????    if (node.left) {        [self postorderTraversal:node.left];    }        // ?????    if (node.right) {        [self postorderTraversal:node.right];    }        // ????    NSLog(@"?????%d", node.value);}

????

????????????????????????????????

#import 
@interface TreeNode : NSObject@property (nonatomic, strong) NSNumber *value;@property (nonatomic, strong) TreeNode *left;@property (nonatomic, strong) TreeNode *right;@end@interface BinaryTreeTraversal : NSObject- (void)preorderTraversal:(TreeNode *)node;- (void)inorderTraversal:(TreeNode *)node;- (void)postorderTraversal:(TreeNode *)node;@end@implementation BinaryTreeTraversal- (void)preorderTraversal:(TreeNode *)node { if (node == nil) return; NSLog(@"?????%d", node.value); if (node.left) { [self preorderTraversal:node.left]; } if (node.right) { [self preorderTraversal:node.right]; }}- (void)inorderTraversal:(TreeNode *)node { if (node == nil) return; if (node.left) { [self inorderTraversal:node.left]; } NSLog(@"?????%d", node.value); if (node.right) { [self inorderTraversal:node.right]; }}- (void)postorderTraversal:(TreeNode *)node { if (node == nil) return; if (node.left) { [self postorderTraversal:node.left]; } if (node.right) { [self postorderTraversal:node.right]; } NSLog(@"?????%d", node.value);}@end

????????

?????????????????????????????????????????????

  • ?????????????????????????????????
  • ???????????????????????????????????
  • ??????????????????????????????????????

??????????????????????????????

转载地址:http://mdnfk.baihongyu.com/

你可能感兴趣的文章
Objective-C以递归的方式实现二叉搜索树算法(附完整源码)
查看>>
Objective-C内存管理教程和原理剖析(三)
查看>>
Objective-C实现 Greedy Best First Search最佳优先搜索算法(附完整源码)
查看>>
Objective-C实现 jugglerSequence杂耍者序列算法 (附完整源码)
查看>>
Objective-C实现 lattice path格子路径算法(附完整源码)
查看>>
Objective-C实现1000 位斐波那契数算法(附完整源码)
查看>>
Objective-C实现2 个数字之间的算术几何平均值算法(附完整源码)
查看>>
Objective-C实现2d 表面渲染 3d 点算法(附完整源码)
查看>>
Objective-C实现2D变换算法(附完整源码)
查看>>
Objective-C实现3n+1猜想(附完整源码)
查看>>
Objective-C实现3n+1猜想(附完整源码)
查看>>
Objective-C实现9x9乘法表算法(附完整源码)
查看>>
Objective-C实现9×9二维数组数独算法(附完整源码)
查看>>
Objective-C实现A*(A-Star)算法(附完整源码)
查看>>
Objective-C实现A-Star算法(附完整源码)
查看>>
Objective-C实现abbreviation缩写算法(附完整源码)
查看>>
Objective-C实现ABC人工蜂群算法(附完整源码)
查看>>
Objective-C实现activity selection活动选择问题算法(附完整源码)
查看>>
Objective-C实现AC算法(Aho-Corasick) 算法(附完整源码)
查看>>
Objective-C实现adaboost算法(附完整源码)
查看>>