added some recursive datastructures
This commit is contained in:
recursion/recursive_datastructure
19
recursion/recursive_datastructure/trees.py
Normal file
19
recursion/recursive_datastructure/trees.py
Normal file
@ -0,0 +1,19 @@
|
||||
from dataclasses import dataclass
|
||||
from enum import Enum, auto
|
||||
from typing import Iterator, Optional
|
||||
|
||||
|
||||
@dataclass
|
||||
class Node[T]:
|
||||
value: T
|
||||
left: Optional['Node[T]']
|
||||
right: Optional['Node[T]']
|
||||
|
||||
|
||||
type BinaryTree[T] = Optional[Node[T]]
|
||||
|
||||
class TraversalType(Enum):
|
||||
INORDER, POSTORDER, PREORDER = auto(), auto(), auto()
|
||||
|
||||
def traverse[T](tree: BinaryTree[T], order: TraversalType = TraversalType.INORDER) -> Iterator[T]:
|
||||
pass
|
Reference in New Issue
Block a user