How to implement a binary search tree in Python?

前端 未结 18 2182
眼角桃花
眼角桃花 2020-11-30 22:25

This is what I\'ve got so far but it is not working:

class Node:
    rChild,lChild,data = None,None,None

    def __init__(self,key):
        self.rChild = N         


        
18条回答
  •  佛祖请我去吃肉
    2020-11-30 23:04

        def BinaryST(list1,key):
        start = 0
        end = len(list1)
        print("Length of List: ",end)
    
        for i in range(end):
            for j in range(0, end-i-1):
                if(list1[j] > list1[j+1]):
                    temp = list1[j]
                    list1[j] = list1[j+1]
                    list1[j+1] = temp
    
        print("Order List: ",list1)
    
        mid = int((start+end)/2)
        print("Mid Index: ",mid)
    
        if(key == list1[mid]):
            print(key," is on ",mid," Index")
    
        elif(key > list1[mid]):
            for rindex in range(mid+1,end):
                if(key == list1[rindex]):
                    print(key," is on ",rindex," Index")
                    break
                elif(rindex == end-1):
                    print("Given key: ",key," is not in List")
                    break
                else:
                    continue
    
        elif(key < list1[mid]):
            for lindex in range(0,mid):
                if(key == list1[lindex]):
                    print(key," is on ",lindex," Index")
                    break
                elif(lindex == mid-1):
                    print("Given key: ",key," is not in List")
                    break
                else:
                    continue
    
    
    size = int(input("Enter Size of List: "))
    list1 = []
    for e in range(size):
        ele = int(input("Enter Element in List: "))
        list1.append(ele)
    
    key = int(input("\nEnter Key for Search: "))
    
    print("\nUnorder List: ",list1)
    BinaryST(list1,key)
    

提交回复
热议问题