AVL 樹
前些天學習委員要收學術論文,讓我也交一篇,于是乎我就一個晚上水了一篇,因為當晚截止。
我的論文是講平衡樹的。因為我們上學期的《數據結構》教材里面的平衡樹太丑陋了,丑陋就算了,還搞得很復雜,存心不讓人學嘛!!
我那天晚上寫的 AVL 樹,代碼如下,只是簡單測試了下,畢竟時間倉促而我得留出時間做我非常不擅長的事情,寫文章。
將AVL樹封裝為一個C++模板類,方便使用。
具體分析見注釋。
抽象類型 T 需具有默認構造函數,可以 = 賦值,可以 < 比較大小。
為方便處理,增加虛擬節點 null,作為空節點。


1

2

3

4

5

6

7

8



9

10

11



12



13

14

15

16



17

18

19

20

21



22

23

24

25

26

27

28

29



30

31

32



33

34

35

36



37

38

39



40

41



42



43

44

45



46

47

48



49

50

51

52

53

54



55

56

57



58

59

60

61



62

63

64

65

66

67

68

69



70

71

72

73

74

75

76

77



78

79

80

81

82

83

84



85



86

87

88

89

90

91

92

93



94



95

96



97



98

99

100

101

102

103

104

105



106



107

108



109



110

111

112

113

114

115

116

117

118

119



120

121

122

123

124

125

126

127

128

129

posted on 2011-03-19 12:03 coreBugZJ 閱讀(1635) 評論(0) 編輯 收藏 引用 所屬分類: DataStructure