Forum » Programiranje » Bisekcija C# težava
Bisekcija C# težava
tkonko ::
Pozdravljeni... Na faxu mam 1 nalogo, katero ne znam razrešit, gre za iskanje po urejenem polju s pomočjo binary searcha. Binary search mi je jasen, če iščem znano število, v mojem primeru pa mi ni jasno kako poiščem prvo število, ki ustreza pogoju A[i]==i. 1 nalogo sem rešil kot vidite v kodi, 2. pa je ta problematična, zato prosim za pomoč...
Navodilo:
Navodilo:
Predpostavimo, da je A[1..n] polje n različnih celih števil in da so števila urejena, tako da velja
A[0] < A[1] < A[2] < .. < A[n].
Vsako število je lahko negativno, pozitivno ali 0.
1) Napiši funkcijo isci(), ki v podanem polju poišče in vrne (prvo) število i , da velja A[i] == i, ali vrne -1, če števila ni; funkcija naj ima časovno zahtevnost O( n ).
2) Napiši funkcijo isci_hitro(), ki v podanem polju poišče in vrne (prvo) število i, da velja A[i]==i, ali vrne -1, če števila ni; funkcija mora imeti manjšo časovno zahtevnost kot isci().
using System; namespace vaja1 { class Program { static void Main(string[] args) { int[] polje = { -7, -3, -2, 0, 1, 3, 4, 7, 9, 20 }; if (isci(polje) != 7) Console.WriteLine("napaka v algoritmu"); else Console.WriteLine("testni vzorec OK"); if ( isci_hitro(polje) != 7 ) Console.WriteLine("napaka v algoritmu"); else Console.WriteLine("testni vzorec OK"); Console.Read(); } static int isci(int[] A) { int i; for(i = 0; i < A.Length; i++) { if (A[i] == i) { return i; } } return -1; } static int isci_hitro(int[] A) { } } }
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | C# program za pretvorbo v desetiško število z rekurzijoOddelek: Programiranje | 1502 (1225) | MrStein |
» | križci krožci c # (strani: 1 2 )Oddelek: Programiranje | 11982 (10641) | Yacked2 |
» | [C#] Domača naloga za faksOddelek: Programiranje | 2115 (1739) | Spura |
» | [C#] Input string was not in a correct format.Oddelek: Programiranje | 1093 (1030) | Cvenemir |
» | [C#] Reševanje domačih nalogOddelek: Programiranje | 3288 (2792) | krastača |