I read a lot about random forest and gradient boosting, but I do not know how these two algorithms really work.

For example, see the simple picture about basketball (picture 1) from [this link](https://www.r-bloggers.com/how-random-forests-improve-simple-regression-trees/): 

How does Random Forest and how does Gradient Boosting work?
Has each tree in the random forest different trainings data AND different features?

Sorry about m question but I don‘t find an easy non-mathematical answer.