I have seen many illustrations on the topic of FFT. I've seen a basic difference between DIT and DIF, however even with DIT alone, with the same sample size I've seen few versions with different twiddle factors, some with and some without multiplying by -1 and I wonder what's the valid way to do Radix 2 DIT FFT.
Here's a DIT FFT of 8 points: https://www.researchgate.net/figure/Radix-2-FFT-butterfly-for-size-N-8-The-constants-powers-of-W-and-1-multiply-the_fig1_228543443
Here's another one but without initially multiplying by 0th twiddle factor: https://chegg-html-solutions.s3.amazonaws.com/9780133506471/11600-12-20P-i3.png
And here's even more different one: http://www.ccm.ece.vt.edu:8088/twiki/pub/Main/FFTonECXI/8pt_fft.png
How can those algorithm provide a result that matches with normal DFT if every one of them is different?
Sorry if It's a dumb question but I'm really trying to get my head around the concept of FFT and implement it in code.