Kezdőoldal » Számítástechnika » Programozás » Program milyen rendezéssel...

Program milyen rendezéssel kezeljen fájlban lévő nagylétszámú rekordokat? (bővebben lent)

Figyelt kérdés

Elméletben foglalkoztat ez a téma: nagy létszámú rekordok esetén célszerű adatbázist használni, vagy bármilyen programozási nyelven, algoritmussal megoldható a feladat?

Ha létrehozásra kerülne például egy program által nagy számú rekordot tartalmazó fájl, milyen algoritmussal célszerű rendezni, hogy a rendezési sebresség ne vegyen el túl sok időt?

Például: az adatok: név, telefonszám. Tegyük fel, hogy telefonszám szerint kerül rendezésre.

Ilyenkor azt érdemes tenni, hogy minden törlésnél-módosításnál-beszúrásnál újrarendezzni az egész fájlt és keresni olyan algoritmust, amely rendezett adatokon gyors?

Rendezni úgy érdemes hogy például egy pár tízezer, rekordokból álló tömböt definiálni, majd ebbe olvasgatni az adatokat, míg meg nem telik, aztán kiírni stb, vagy egyesével olvasni/írni a fájlba a rekordokat?



2021. jan. 21. 17:05
1 2 3
 11/27 anonim ***** válasza:
Már egy sqlite adatbázissal is jobb leszel, mintha elkezdesz kókányolni valamit.
2021. jan. 21. 21:05
Hasznos számodra ez a válasz?
 12/27 anonim ***** válasza:
0%

Azt vedd figyelembe, hogy átlagot kell venni, mert n2 a worst case, ezen túl, a nettó és nem a bruttó futásidő 1-3 sec, ami azt jelenti, hogy magának a sorternek a futásidő igénye ennyi, nem még 5-15 processzel párhuzamosan loholtatva.


Az sem mindegy, hogy assemblyben írod meg van pythonban, netán mindjárt phpban.

Amúgy, most lefuttattam 300000 rekorddal, egy shit 1000 éves, 1.8-as M-es procin és 24 sec alatt futott le, bár ebben már a tömb feltöltése is benne volt.

2021. jan. 21. 21:08
Hasznos számodra ez a válasz?
 13/27 anonim ***** válasza:
100%
Akkor most futtasd le 1 000 000 nevre is, aztan majd szolj ha vegeztel.
2021. jan. 21. 21:19
Hasznos számodra ez a válasz?
 14/27 anonim ***** válasza:
0%
Tudod, én nem vagyok az a hülye, aki bármihez is bubble sortot használna, de ha netán mégis, egymillió nevet tartalmazó adatbázis név adattagjaira már biztosan nem.
2021. jan. 21. 21:25
Hasznos számodra ez a válasz?
 15/27 anonim ***** válasza:
100%
De lefutna 1-3 sec alatt, nem?
2021. jan. 21. 21:28
Hasznos számodra ez a válasz?
 16/27 anonim ***** válasza:
0%
Bennem egy bubble sort esetén olyan, hogy string adattipus fel sem merül.
2021. jan. 21. 21:46
Hasznos számodra ez a válasz?
 17/27 anonim ***** válasza:
93%

"A mai gépek sebessége - ha PC-ről van szó - olyan, hogy akár egy millió [név,telszám] rekord buborék-rendezése is lefut 1 sec. alatt vagy max. 1-3 sec. időigénnyel"


Ezt nem te irtad?

2021. jan. 21. 21:52
Hasznos számodra ez a válasz?
 18/27 anonim ***** válasza:
0%
De igen, én írtam, de ez nem jelenti azt, hogy a gyakorlatban is alkalmazom azt, amit leírok. A mondat arra volt utalás, amit a kérdező felvetett. Egy iránymutatás, nem több. Ráadásul, nagságrendileg nem is tévedtem.
2021. jan. 21. 21:59
Hasznos számodra ez a válasz?
 19/27 anonim ***** válasza:
91%
Sosem tudom eldönteni, hogy ez az ember trollkodik-e vagy komolyan gondolja ezeket. A pénzügyek kategóriában ilyen még az alapítványi iskolás.
2021. jan. 21. 22:11
Hasznos számodra ez a válasz?
 20/27 anonim ***** válasza:
0%

19: Itt te vagy a troll, meg a másik lepontozásra biztató majom.


Kérdező írja: "nagy számú rekordot tartalmazó fájl, milyen algoritmussal célszerű rendezni, hogy a rendezési sebresség ne vegyen el túl sok időt?


Kérdező írja: "Tegyük fel, hogy TELEFONSZÁM SZERINT kerül rendezésre."


Akkor most mégis, mire vergődsz? Vagy csak trollkodsz?

Hát persze.

2021. jan. 21. 23:08
Hasznos számodra ez a válasz?
1 2 3

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!