Prima di tutto, se questo è nel posto sbagliato, mi scuso. Non ero troppo sicuro su quale dei siti Stack Exchange chiedergli.
Sto studiando lo sviluppo del software all'università, in un corso di conversione di un anno. Il mio linguaggio di programmazione principale è Java. Abbiamo appena finito di studiare ricerche e generi. Concentrandomi su quest'ultimo in particolare, ho avuto difficoltà a lavorare attraverso la complessità del codice. Alcuni, come un tipo di inserimento, erano abbastanza ovvi. Altri, come l'unire sort, ho trovato estremamente difficile da capire. Capisco perfettamente come funzionano, semplicemente non vorrei implementare il mio.
Mi è stato detto che la maggior parte dei programmatori non crea i propri tipi / ricerche poiché i metodi incorporati in Java sono più affidabili e generalmente più veloci. Tuttavia, è considerata una buona pratica conoscere questo tipo.
Quando guardo un ordinamento come l'ordinamento di tipo merge o di tipo binario, penso a me stesso che non avrei mai potuto trovare soluzioni del genere. Sono troppo complicati e complicati.
Questo mi porta alla mia domanda. La maggior parte dei programmatori usa tipi come persone che usano semplici formule matematiche, ad es. l'area di un triangolo o cerchio, dove la si applica quasi mesmericamente? Come programmatore faresti uno sforzo reale nel cercare di sviluppare nuovi tipi, o più efficienti? O se avessi saputo che era necessario un tipo, sapresti semplicemente quale è stato meglio attraverso la notazione bigOh e poi basta copiare e incollare la stessa cosa, senza mai veramente pensare alla codifica dietro di esso?
Nota: se questa domanda non è adatta per Q & A (ho guardato le FAQ e penso che sia), ti prego di avvisarmi dove potrei postare. Grazie.