二叉树(二)——二叉搜索树及C++实现

什么是二叉搜索树

二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。

二叉树节点类

本类是构成二叉树的节点类。包括三个指针,分别指向双亲节点、左孩子节点和右孩子节点,还有一个变量存储数据。如果二叉树插入和删除操作很少,可以存储高度变量,因为插入操作和删除操作需要更新一系列节点的高度值。红黑颜色是在红黑树中使用的。本类同时重载了比较、赋值和输出运算符。 Read more

2.Add Two Numbers

You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8

该题的算法就是实现大数相加,不过数是低位在前,高位在后存储的。例题是:342 + 465 = 807。

Read more

1. Two Sum

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution.

Example:

Read more