Ú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!
- Apple MacBook
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Nintendo 3DS és DS topic
- PlayStation 1 / 2
- Kormányok / autós szimulátorok topikja
- PlayStation 5
- Eredeti játékok OFF topik
- Formula-1
- További aktív témák...
- AZTA! Dell XPS 13 Plus 9320 13.4" Profi Notebook -70% Brutál i7-1260P 16/512 FHD+ Iris Xe
- Asztali pc
- ASUS ROG STRIX Z790-H GAMING WIFI Alaplap - Garancia: 2027.01-15.-ig - BeszámítOK!
- Beszámítás! Apple iPhone 16 Pro MAX 256GB okostelefon garanciával hibátlan működéssel
- Beszámítás! Sony PlayStation 5 1TB SSD lemezes konzol extra játékokkal garanciával hibátlan működés
- AKCIÓ! HP USB C G5 Essential (5TW10AA) dokkoló hibátlan működéssel garanciával
- BESZÁMÍTÁS! Asus TUF B450M R5 5600X 32GB DDR4 512GB SSD RTX 3060 XC 12GB Rampage SHIVA Chieftec 600W
- Bomba ár! Lenovo ThinkPad X260 - i5-6G I 8GB I 256GB SSD I 12,5" HD I HDMI I CAM I W10 I Gari!
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- ÚJ ÁRU, OLCSÓBB!!! Dell Precision Workstation 5550, 5560, 7510, 7520, 7550, 7720, i7, 6-11. gen.
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest