Ú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!
- Google Pixel Watch 3 - képpontos idő
- Pécs és környéke adok-veszek-beszélgetek
- Metal topik
- iRacing.com - a legélethűbb -online- autós szimulátor bajnokság
- Tesla topik
- Napelem
- TCL LCD és LED TV-k
- Windows 11
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Építő/felújító topik
- További aktív témák...
- DELL OPTIPLEX 7010 SFF PC, I5-3570 CPU, 2 GB R5 430 VGA, Windows 10
- ASUS Vivobook Pro 15 - 15.6" FHD IPS 144Hz - Ryzen 5-5600H - 16GB - 512GB - RTX 3050 - MAGYAR - Win1
- Lenovo 40B0 ThinkPad Thunderbolt 4 Workstation Dock (300W) (40B00300)
- Denon HEOS AMP HS2 erősítő / multiroom amplifier újszerű állapot
- Xiaomi 15 ultra kamera mobil
- Lenovo ThinkPad L14 Gen 2 Ryzen 5 pro 5650U, 16GB RAM, 256-512GB SSD, jó akku, számla, gar
- 197 - Lenovo Legion Pro 5 (16IAX10) - Intel Core U7 255HX, RTX 5070 (ELKELT)
- AKCIÓ! AMD Ryzen 9 5900X 12mag 24szál processzor garanciával hibátlan működéssel
- Samsung Odyssey G5 LS27CG510 27 QHD Gamer Monitor 6 hó garancia Házhozszállítás
- Apple iPhone 17e 256GB Bontatlan Független Összes Szín / 27% áfás ár INGYENES SZÁLLÍTÁS
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
