• Nie Znaleziono Wyników

Algorytmy i struktury danych, USM, zaoczne. Ćwiczenie 5.

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy i struktury danych, USM, zaoczne. Ćwiczenie 5."

Copied!
1
0
0

Pełen tekst

(1)

Algorytmy i struktury danych, USM, zaoczne. Ćwiczenie 5.

Algorytmy sortowania plików

Cel ćwiczenia: Implementacja algorytmów sortowania plików: łączenie naturalne, łączenie wyważone, sortowanie polifazowe. Porównanie efektywności czasowej algorytmów.

1. Utworzyć na dysku plik tekstowy o nazwie dane.txt zawierający N losowych liczb całkowitych typu longint, należących do przedziału [-1 000 000, 1 000 000), gdzie N jest stałą w programie. Liczby powinny być oddzielone spacjami, tj. przed każdą liczbą zapisaną w postaci znakowej powinna znajdować się co najmniej jedna spacja.

Opracować program umożliwiający podział pliku dane.txt na serie (uporządkowane ciągi danych) o długości K, gdzie K jest stałą. Dane należy wczytywać z pliku do tablicy o rozmiarze K, a następnie sortować w oparciu o algorytm przesiewania przez kopiec lub algorytm qsort. Serie należy przepisywać z tablicy do pliku tekstowego o nazwie dane1.txt.

2. Opracować program sortowania pliku tekstowego zawierającego N losowych liczb całkowitych typu longint, należących do przedziału [-1 000 000, 1 000 000) i rozdzielonych spacją, gdzie N jest stałą w programie. Wykorzystać algorytm sortowania przez łączenie naturalne. Prostsza wersja zadania może polegać na dokonaniu konwersji pliku tekstowego do binarnego, sortowaniu pliku binarnego i zapisaniu wyniku sortowania ponownie do pliku tekstowego. Zmierzyć czas sortowania.

3. Opracować program sortowania pliku tekstowego zawierającego N losowych liczb całkowitych typu longint, należących do przedziału [-1 000 000, 1 000 000) i rozdzielonych spacją, gdzie N jest stałą w programie. Wykorzystać algorytm sortowania przez wielokierunkowe łączenie wyważone. Sprawdzić działanie algorytmu dla K=2 plików wejściowych i L=2 plików wyjściowych. Prostsza wersja zadania może polegać na dokonaniu konwersji pliku tekstowego do binarnego i sortowaniu pliku binarnego.

Zmierzyć czas sortowania.

4. Opracować program sortowania pliku tekstowego zawierającego N losowych liczb całkowitych typu longint, należących do przedziału [-1 000 000, 1 000 000) i rozdzielonych spacją, gdzie N jest stałą w programie. Wykorzystać algorytm sortowania polifazowego. Sprawdzić działanie algorytmu dla K=3 plików. Prostsza wersja zadania może polegać na dokonaniu konwersji pliku tekstowego do binarnego i sortowaniu pliku binarnego. Zmierzyć czas sortowania.

Cytaty

Powiązane dokumenty

b) Opracować funkcję wyprowadzającą zawartość struktury typu tosoba na ekran (parametrem funkcji jest zmienna typu tosoba). Zainicjować zmienną stud wartościami

Wyznaczyć czasy działania algorytmów w przypadku sortowania tablicy liczb całkowitych (wykorzystać funkcję pomiaru czasu). Wyprowadzić na ekran czasy

W programie głównym zdefiniować tablicę tab typu ttab oraz zmienną ile typu unsigned, w której pamiętana jest liczba struktur wprowadzonych do tablicy

c) zapisującą do pliku tekstowego losowe struktury typu tosoba oraz znaki przejścia do nowej linii (’\n’); otwarcie i zamknięcie pliku zrealizować wewnątrz

Jeżeli operacja przydziału pamięci dla t1 i t2 zakończyła się pomyślnie (wskaźniki t1 i t2 są różne od NULL), to zainicjować tablicę t1 losowymi znakami o kodach należących

a) dodającą element o podanej wartości klucza na koniec kolejki; przydzielić pamięć, wpisać daną x do klucza, zmodyfikować wskaźniki kolejki (pocz, kon);

► Włącz przetwarzanie pozostałych elementów (w przypadku braku definicji elementu, użyte będzie standardowe przetwarzanie – jak możesz się przekonać, polega ono na

-stwórz wzorzec dla elementu „procesor” i w nim zawrzyj obsługę elementów typ, cena i link w taki sposób aby wyświetlane były one zawsze w tej samej kolejności (typ , potem cena