- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- sh4d0w: Palpatine - A Terv
- weiss: Pant* rant
- N€T0X|N: SSD cserék
- bambano: Bambanő háza tája
- sh4d0w: Árnyékos sarok
- eBay-es kütyük kis pénzért
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
-
LOGOUT
Új hozzászólás Aktív témák
-
axioma
veterán
válasz
pmonitor #15582 üzenetére
En egy dolgot megneztem benne: mar amikor nekem tanitottak a "tiszta" rendezesi algoritmusokat, akkor mondtak hogy a valosagban nem ilyet hasznalnak (letezo library-k), hanem egy kevert algot: ha a hossz ma'r <=5, akkor a rekurziv hivas koltsege tobb, mint az nlogn es n^2 kozotti kulonbseg, ezert azokat a darabokat egy sima buborekkal/kivalasztasossal vagy barmi ilyesmivel lerendezik, es csak felette jon a felezes. Ha szeretsz ilyenekkel jatszani, probald ki. Azota lehet hogy van tobb mas trukk is.
Amugy a mar leglevo algoritmusoknal celhoz kototten tudsz jobb algoritmust irni (felteve ha nem annyira altalanos hogy van ra lib), vagyis ha barmi tobbet tudsz az adataidrol. Peldaul ha csupa 1000 es 10000 kozotti szamok 10ezres nagysagrendben (adatbazisban amcsi iranyitoszamok volt a pelda, az me'g egy kb. 80-as evekben irt konyvben), akkor jobban jarsz ha egy masik tombben megszamolod melyikbol mennyi van/bevodrozod hogy hol (indexek), es utana vegigfutsz rajta vissza-flatten-elni, igy van linearis megoldas.
-
kovisoft
őstag
válasz
pmonitor #15582 üzenetére
Még régebben írtam egy rövid függvényt, ami kiírja a N szám permutációit rendezett formában. Most sehol sem találom, de emlékeim alapján megpróbáltam újra lekódolni C-ben:
int a[50];
int n=5;
int i, j, temp;
// az 1 2 3 ... n sorozatbol indulunk ki
for (i=0; i<n; i++)
a[i] = i+1;
for (;;)
{
// kiirjuk az aktualis permutaciot
for (i=0; i<n; i++)
printf("%d ", a[i]);
printf("\n");
// megkeressuk, hol kezdodik az utolso monoton csokkeno reszsorozat
for (i=n-2; i>=0 && a[i]>a[i+1]; i--);
// ha a teljes sorozat monoton csokkeno, akkor vegeztunk
if (i < 0)
break;
// a csokkeno reszsorozat elotti elemet ki kell cserelnunk a reszsorozatban nagysag szerint rakovetkezovel
for (j=n-1; a[j]<a[i]; j--);
temp=a[i]; a[i]=a[j]; a[j]=temp;
// tovabbra is monoton csokkeno a reszsorozatunk, forditsuk meg, hogy monoton novekedo legyen
for (j=i+1; j<n+i-j; j++)
{
temp=a[j]; a[j]=a[n+i-j]; a[n+i-j]=temp;
}
}Nem teszteltem a sebességét, nem állítom, hogy ez a létező leggyorsabb módszer, de viszonylag rövid és egyszerű. Egyébként most, hogy jobban megnézem, ez majdnem az a módszer, mint amiben a quicksort van. Az igazat megvallva soha nem értettem, hogy miért kell itt meghívni egy quicksortot, hiszen amikor ide érünk, akkor a sorozat vége már rendezve van, csak éppen csökkenő sorrendben, tehát elég szimplán megfordítani.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Hegesztés topic
- Windows 10
- Házimozi haladó szinten
- Milyen TV-t vegyek?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Nintendo 3DS és DS topic
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Abarth, Alfa Romeo, Fiat, Lancia topik
- Nagyrobogósok baráti topikja
- További aktív témák...
- Gigabyte B450M S2H + Ryzen 5 1400 kisebb-nagyobb hibával
- Nokia 105 4G (2023) charcoal, Nokia 110 4G (2023) midnight blue
- ASRock B550 PG Velocita + Ryzen 5 3600 + 32GB (4x8GB) DDR4 3600Mhz CL18
- Philips 58PUS8505 Smart LED Televízió,146 cm, 4K Ultra HD ,Android, Ambilight, HDR10+ KIJELZŐHIBÁSAN
- Canon EOS 250D kiegészítőkkel, táskával (CSAK 200 expoval !!! )
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Csere-Beszámítás! Felsőkategóriás számítógép PC Játékra! I9 13900KF / RTX 4080 / 32GB RAM / 1TB SSD
- Azonnali készpénzes Microsoft XBOX Series S és Series X felvásárlás személyesen/csomagküldéssel
- Apple iPad (9th Generáció) Wi-fi + Cellular, 1 Év Garanciával
- Lenovo ThinkPad dokkolók: USB-C 40A9/ 40AY/ 40AS/ Thunderbolt 3 40AC/ Hybrid USB-C DisplayLink 40AF
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest