Here's a forest solution which adds the labels automatically, as well as the contents of the nodes and the list of outcomes.

\documentclass[tikz,border=10pt]{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
/tikz/every node/.append style={font=\sffamily},
toss/.style={
before drawing tree={
tikz/.wrap pgfmath arg={\node at ([yshift=10pt].center |- h.north) {Toss ##1};}{level()},
}
},
tosses/.style={
name=h,
for ancestors'={if level=0{}{toss}},
before packing={
!1.tikz={\node at ([yshift=10pt].center |- h.north) {Outcomes};}
}
},
for tree={
grow'=0,
parent anchor=east,
child anchor=west,
anchor=west,
tier/.wrap pgfmath arg={tier #1}{level()},
l sep+=20pt,
font=\sffamily,
delay={
if level=0{}{
if n=1{content=H}{content=T}
}
}
},
before typesetting nodes={
where n children=0{
append={[, edge={dashed}, anchor=west, font=\sffamily, content/.wrap 3 pgfmath args={(#1,#2,#3)}{content("!uuu")}{content("!uu")}{content("!u")}]}
}{}
}
[
[
[
[, tosses]
[]
]
[
[]
[]
]
]
[
[
[]
[]
]
[
[]
[]
]
]
]
\end{forest}
\end{document}
A brief introduction to forest can be found in the second part of my answer here.
The complexity of the configuration here is only due to the automatisation, which relies on doing particular things at particular stages of the drawing process. The actual tree specification is simple.
[Indeed it is just a bunch of square brackets, one comma and the string tosses. What could be simpler than that?!]
EDIT
You can adjust the contents of the nodes and labels in the preamble of the tree. I've added three comments to highlight the points at which this should be done and substituted a circle and filled circle from pifont for H and T to illustrate the idea. Since this presumably makes 'Toss' inappropriate, I've also changed the label prefix to 'Ball'.
\documentclass[tikz,border=10pt]{standalone}
\usepackage{forest,pifont}
\begin{document}
\begin{forest}
/tikz/every node/.append style={font=\sffamily},
toss/.style={
before drawing tree={% specify the prefix of the labels at the top here
tikz/.wrap pgfmath arg={\node at ([yshift=10pt].center |- h.north) {Ball ##1};}{level()},
}
},
tosses/.style={
name=h,
for ancestors'={if level=0{}{toss}},
before packing={% specify the label for the final (rightmost) level here
!1.tikz={\node at ([yshift=10pt].center |- h.north) {Outcomes};}
}
},
for tree={
grow'=0,
parent anchor=east,
child anchor=west,
anchor=west,
tier/.wrap pgfmath arg={tier #1}{level()},
l sep+=20pt,
font=\sffamily,
delay={
if level=0{}{% specify the contents of the nodes here
if n=1{content=\ding{109}}{content=\ding{108}},
}
}
},
before typesetting nodes={
where n children=0{
append={[, edge={dashed}, anchor=west, font=\sffamily, content/.wrap 3 pgfmath args={(#1,#2,#3)}{content("!uuu")}{content("!uu")}{content("!u")}]}
}{}
}
[
[
[
[, tosses]
[]
]
[
[]
[]
]
]
[
[
[]
[]
]
[
[]
[]
]
]
]
\end{forest}
\end{document}
