- norbx: IRC a 90-es évek és a 2000-es évek elején
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Parci: Milyen mosógépet vegyek?
- Négymagos Xeon(!) CPU LGA775-ös deszkában
- hcl: Samsung S21FE pakolás
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Luck Dragon: Asszociációs játék. :)
- gerner1
- mefistofeles: Az elhízás nem akaratgyengeség! 2 Ahogy én csinálom.......
- Flashback: Olcsó emulátoros kézikonzol: R36S
Új hozzászólás Aktív témák
-
amargo
addikt
válasz
Fire/SOUL/CD
#784
üzenetére
Hi!
#define REHASH(a, b, h) ((((h) - (a)*d) << 1) + (b))
void KR(char *x, int m, char *y, int n) {
int d, hx, hy, i, j;
/* Preprocessing */
/* computes d = 2^(m-1) with
the left-shift operator */
for (d = i = 1; i < m; ++i)
d = (d<<1);
for (hy = hx = i = 0; i < m; ++i) {
hx = ((hx<<1) + x[i]);
hy = ((hy<<1) + y[i]);
}
/* Searching */
j = 0;
while (j <= n-m) {
if (hx == hy && memcmp(x, y + j, m) == 0)
OUTPUT(j);
hy = REHASH(y[j], y[j + m], hy);
++j;
}
}Igazából viszont nem értem, mivel a linkelt oldalon ott van az algoritmus azt csak implementálni kell. De ezt én is a lentebb linkelt oldalról raktam be.
Bár gondolom rothkrisz nem hiszem, hogy ennyire optimalizált kódot szeretne megírni, ha ilyet akarna, akkor ismerne még pár szóban forgót: Knuth-Morris-Pratt, Quick-Search stb...
Az én javaslatom inkább egy sima Brute force lenne, annak megvalósítás íme:
void BF(char *x, int m, char *y, int n)
{
int i, j;
/* Searching */
for (j = 0; j <= n - m; ++j) {
for (i = 0; i < m && x[i] == y[i + j]; ++i);
if (i >= m)
OUTPUT(j);
}
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Új Miele Triflex HX2 white 2 év garancia
- Makulátlan Játékos Lenovo,FullHD IPS, core i5 ,GTX 2/6GB 128bit VGA,8-32GB DDR4 RAM/SSD+HDD,Win.11,
- Dell Optiplex 3050 SFF / I5-7500 / 8GB RAM / 128GB NVMe SSD!
- ROG Zephyrus G14 GA403UI 14" 3K OLED Ryzen 9 8945HS RTX 4070 32GB 512GB NVMe IR kam gar
- ASUS Vivobook16 Multimédiás laptop 16" -30% AMD Ryzen 5 5600H 6Mag 16/1TB Radeon 780M FHD+
- szinteÚJ 2030 Gar! Dell Pro Max 14 Ryzen AI 9 HX PRO 370 32GB LPDDR5X 512GB NVMe SSD
- iKing.hu Apple iPhone 12 Pro Max 128GB Gold használt, megkímélt 100% akku 6 hónap garancia
- Alkalmi vétel!Csere-Beszámítás! Csak tesztelt HP Omen 16! R9 8940HX / 32GB DDR5 / RTX 5060 / 1TB SSD
- Bomba ár! Lenovo ThinkPad T440s Touch - i5-4GEN I 8GB I 128GB SSD I 14" HD+ I Cam I W10 I Garancia!
- GYÖNYÖRŰ iPhone XR 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4270, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
