Hirdetés
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Milyen okostelefont vegyek?
- Samsung Galaxy A56 - megbízható középszerűség
- Magisk
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Tucatszámú OnePlus élvezheti a legfrissebb Androidot
- Xiaomi 15 Ultra - kamera, telefon
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Kis méret, nagy változás a Motorolánál
Ú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!
- Suzuki topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Kuponkunyeráló
- Formula-1
- Formula-1 humoros
- Gaming notebook topik
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Xiaomi 15T - reakció nélkül nincs egyensúly
- exHWSW - Értünk mindenhez IS
- Titan Quest II
- További aktív témák...
- Samsung SyncMaster 930BF 19" 1280 x 1024 DVI!
- Lenovo LOQ 15IRH8 - 15.6"FHD IPS 144Hz - i5-12450H - 16GB - 512GB - RTX 4050 - Win11 PRO - 1 év gari
- RTX5070/ Ultra9 275HX/ 32GB DDR5/ 15.1' OLED/ Premium Care garancia/ bontatlan, új/ Legion 5
- NZXT Kraken Z53 RGB(fehér)+NZXT H5 Elite ATX(fehér) garancia 2026.01.31-ig
- Apple Watch Ultra, Újszerű,Dobozával, 12 hónap garanciával
- Fotó állvány eladó
- NVIDIA Quadro P5000 GPU 16GB GDDR5X memóriával
- Xiaomi Poci F4 Gt 128GB,Átlagos,Adatkabel, 12 hónap garanciával
- BESZÁMÍTÁS! 64GB(2x32GB) Kingston Fury Beast 3200MHz DDR4 memória garanciával hibátlan működéssel
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


