<< Graphics`Graphics`

f[x_]  :=  4 μ x (1 - x)

μ :=  1.0
NestList[f, Nest[f, 0.1, 100], 10]

μ = 1.0
hist1  =  
      Histogram[NestList[f, Nest[f, 0.1, 100], 10000],  
        HistogramScale -> 1]

theory1  =  
      Plot[1 / (π Sqrt[x (1 - x)]),  {x, 0, 1}]

Show[hist1,  theory1,  PlotRange -> {0, 7}]

μ  :=  0.9
hist09  =  
      Histogram[NestList[f, Nest[f, 0.1, 100], 100000],  
        HistogramScale -> 1]

HalfIterates  =  
      Table[{Nest[f, 0.5, n], n/2. }, {n, 1, 10}]

HalfIteratePlot  =  
      ListPlot[HalfIterates,  PlotStyle -> RGBColor[0, 1, 0],  
        PlotJoined -> True]

Show[hist09,  HalfIteratePlot]

μ = 1. 
Length[NestList[f, 0.1, 10]]

Clear[dataPoints,  μ]
dataPoints[numPoints_, numTransient_,  xI_,  muIterator_] := 
      Flatten[Table[
          Transpose[{Table[μ,  {i, numPoints + 1}], 
              NestList[f, Nest[f, xI, numTransient], numPoints]}], 
          muIterator], 1]

dataPoints[3, 1024, 0.1, {μ, 0. , 1. , 0.1}]

BifurcationDiagram  =  
      ListPlot[dataPoints[64, 1024, 0.1,  {μ, 0.85, 1, 0.0001}],  
        Prolog -> AbsolutePointSize[1]]

Boundaries  =  
      ListPlot[dataPoints[5, 1, 0.5,  {μ, 0.85, 1, 0.0001}], 
        PlotStyle -> RGBColor[1, 0, 0]]

Show[BifurcationDiagram,  Boundaries]