Sto provando a definire una funzione che rimuoverà i duplicati da una lista. Finora ho un’implementazione funzionante: rmdups :: Eq a => [a] -> [a] rmdups [] = [] rmdups (x:xs) | x `elem` xs = rmdups xs | otherwise = x : rmdups xs Comunque mi piacerebbe rielaborare questo senza usare elem . Quale […]
So che ci sono modi per build un albero da attraversamenti pre-ordine (come una matrice). La domanda più comune è costruirla, dati gli attraversamenti inorder e pre-ordine. In questo caso, sebbene l’inorder traversal sia ridondante, rende sicuramente le cose più facili. Qualcuno può darmi un’idea di come farlo per una traversata post-ordine? Sono richieste entrambe […]
Sono in una class Scheme ed ero curioso di scrivere una funzione ricorsiva senza usare define. Il problema principale, ovviamente, è che non è ansible chiamare una funzione dentro se stessa se non ha un nome. Ho trovato questo esempio: è un generatore fattoriale che usa solo lambda. ((lambda (x) (xx)) (lambda (fact-gen) (lambda (n) […]
In Haskell, come in molti altri linguaggi funzionali, la funzione foldl è definita in modo tale che, ad esempio, foldl (-) 0 [1,2,3,4] = -10 . Questo è OK, perché foldl (-) 0 [1, 2,3,4] è, per definizione, ((((0 – 1) – 2) – 3) – 4) . Ma, in Racket, (foldl – 0 ‘(1 […]
Ho bisogno di aiuto con un programma che sto scrivendo per la mia class Programming II in universtiy. La domanda chiede che si calcoli la sequenza di Fibonacci usando la ricorsione. È necessario memorizzare i numeri di Fibonacci calcolati in una matrice per interrompere calcoli ripetuti non necessari e ridurre il tempo di calcolo. Sono […]
Sto scrivendo un provider LINQ a un’origine dati gerarchica. Trovo più facile progettare la mia API scrivendo esempi che mostrano come voglio usarlo e quindi programmare per supportare questi casi d’uso. Una cosa che ho problemi è un modo facile / riutilizzabile / elegante per esprimere “query profonda” o ricorsione in una istruzione LINQ. In […]
Ho un object dati nidificato per un insieme di elementi all’interno di categorie. Ogni categoria può contenere sottocategorie e non esiste un limite per la profondità delle sottocategorie. (Un file system avrebbe una struttura simile). Sembra qualcosa del genere: class category { public int id; public string name; public IQueryable categories; public IQueryable items; } […]
Capisco che il mutex ricorsivo permetta al mutex di essere bloccato più di una volta senza arrivare a un punto morto e dovrebbe essere sbloccato lo stesso numero di volte. Ma in quali situazioni specifiche hai bisogno di usare un mutex ricorsivo? Sto cercando situazioni progettuali / a livello di codice.
Ho delle categories tabelle che contengono le seguenti colonne: category_id category_name parent_id Ho bisogno di ottenere l’elenco di tutte le sottocategorie di tutti i livelli per una determinata categoria principale, quindi se ad esempio fornisco l’id di qualche categoria di lvl 3 vorrei tornare all’elenco di tutte le classi lvl 4, 5, 6 … che […]
Mi stavo chiedendo come invertire una lista usando solo le operazioni di base come i contro, prima, resto, vuoto? Ecc. Non sono consentite funzioni di aiuto o accumulatori e la funzione accetta solo un input: una lista. Mi è stato detto che era ansible, anche se non riesco a capirlo. Questo è ciò che ho […]