[C++, programare dinamică] Problema subsecvenței de sumă maximă

Fragment din cartea Algoritmica C++ de Vlad Sebastian Ionescu, Eugen Laslo. Considerăm un număr natural N și un vector A cu N elemente numere întregi. O subsecvență [st, dr] a vectorului A reprezintă suma tuturor elementelor acelei subsecvențe. Se cere determinarea unei subsecvențe de sumă maximă. Datele de intrare se citesc din fișierul subsecv.in, iarContinuă lectura „[C++, programare dinamică] Problema subsecvenței de sumă maximă”

[C++, programare dinamică] Subsecvența de sumă maximă – aflarea pozițiilor de început și sfârșit din cei doi vectori, nerecursiv

Aceasta este o continuare la articolul de la acest link. Aici nu se scrie în fișier ci pe ecran. Vizual Rezolvare #include <iostream>using namespace std;void subsecv(int A[], int S[], int n, int &st, int &sf){ sf = -1; int max = -(1 << 30); // -infinit for (int i = 1; i <= n; ++i)Continuă lectura „[C++, programare dinamică] Subsecvența de sumă maximă – aflarea pozițiilor de început și sfârșit din cei doi vectori, nerecursiv”

[C++, programare dinamică] Problemă – algoritmul lui Lee (c) – afișarea tuturor drumurilor optime

Introducere în problema labirintului aici. Enunț c) Modificați funcția de afișare a drumului astfel încât să afișeze toate drumurile minime existente. Explicație Cum se cere modificarea funcției existente, nu crearea unei noi funcții, există opțiunea de a transforma funcția din recursivă în nerecursivă și de a folosi un arbore (fiecare nod al arborelui are celContinuă lectura „[C++, programare dinamică] Problemă – algoritmul lui Lee (c) – afișarea tuturor drumurilor optime”

[C++, programare dinamică] Problema labirintului – algoritmul lui Lee

Fragment din cartea Algoritmica C++ de Vlad Sebastian Ionescu, Eugen Laslo. Am prezentat problema labirintului în cadrul secțiunii despre backtracking. Similar, se dă o matrice pătratică de dimensiune N, cu valori de 0 sau de 1, codificând un labirint. Valoarea 0 reprezintă o cameră deschisă, iar valoarea unu o cameră închisă. Se cere de dataContinuă lectura „[C++, programare dinamică] Problema labirintului – algoritmul lui Lee”

[C++, programare dinamică] Problemă cu algoritmul lui Lee (b)

Introducere în problema labirintului aici. Enunț b) Dați un exemplu pe care soluția recursivă efectuează cu mult mai mulți pași decât e necesar. Explicație Soluția recursivă efectuează mai mulți pași decât soluția nerecursivă cu cât se fac mai multe apeluri recursive pentru poziții deja calculate, ceea ce echivalează cu cât există mai multe poziții înContinuă lectura „[C++, programare dinamică] Problemă cu algoritmul lui Lee (b)”

[C++, programare dinamică] Problemă cu algoritmul lui Lee (a)

Introducere în problema labirintului aici. Enunț a) Considerăm că o persoană pornește din (1, 1) și alta din (N, N). Cele două persoane se mișcă exact în același timp. Scrieți un program care determină coordonatele spre care acestea ar trebui să se îndrepte pentru a se întâlni cât mai rapid. Rezolvare #include <fstream>#include <queue>#include <utility>usingContinuă lectura „[C++, programare dinamică] Problemă cu algoritmul lui Lee (a)”

[C++, programare dinamică] Distanța Levenshtein

Fragment din cartea Algoritmica C++ de Vlad Sebastian Ionescu, Eugen Laslo.Se dau două șiruri de caractere A și B, formate din litere mici ale alfabetului englez. Asupra șirului A putem face următoarele trei operații: 1. Inserăm un caracter.2. Ștergem un caracter.3. Înlocuim un caracter cu orice alt caracter din alfabetul folosit. Se cere determinarea număruluiContinuă lectura „[C++, programare dinamică] Distanța Levenshtein”

Interfețe C#

Tradus din această pagină oficială de documentație Microsoft. O interfață definește un contract care poate fi implementat de clase și struct-uri. O interfață poate conține metode, proprietăți, evenimente, și indexatori. O interfață nu furnizează implementări ai membrilor pe care îi definește — ea pur și simplu specifică membrii care trebuie să fie furnizați de claseleContinuă lectura „Interfețe C#”

Tablouri C#

Tradus din această pagină oficială de documentație Microsoft. Un tablou este o structură de date care conține un număr de variabile care sunt accesate prin indici calculați. Variabilele conținute într-un tablou, de asemenea numite elemente ale tabloului, sunt toate de același tip, și acest tip se cheamă tipul de elemente al tabloului. Tipurile tablou suntContinuă lectura „Tablouri C#”

Struct-uri C#

Tradus din această pagină oficială de documentație Microsoft.La fel ca clasele, struct-urile sunt structuri de date care pot conține membrii date și membri funcții, dar spre deosebire de clase, struct-urile sunt tipuri valoare și nu cer alocare pe heap. O variabilă de un tip struct stochează direct datele struct-urii, în timp ce o variabilă deContinuă lectura „Struct-uri C#”