Korzystając z okazji, że jest to mój pierwszy post witam serdecznie wszystkich forumowiczów.

Drodzy Panowie, Panie...
Mam problem z pewnym zadaniem na zaliczenie, szukałem pomocy u znajomych, co znają się lepiej na programowaniu niż ja lecz niestety bez skutku. Problem jest następujący:

Program ma wyszukiwać w pliku tekstowym wzorzec podany jako argument uruchomieniowy programu ("uproszczony grep linuxowy"). Całość ma być oparta o wykorzystanie dynamicznych struktur danych (listy, drzewa), dane z pliku mogą być odczytane tylko raz.
Przykład wywołania:
a) grep plik ’ciąg’ Wyświetla całą linię w której występuje ciąg znaków
b) grep plik ’ciąg’ -n Wyświetla tylko numery linii w której występuje ciąg znaków.
c) grep plik ’ciąg’ -c Wypisuje liczbę wystąpień slowa ’ciąg’ w pliku.

W celu szybkiego wyszukiwania należy zastosować B-tree.

Stanąłem w martwym punkcie ze względu na parę pytań i brak pomysłu na prawidłowy algorytm:

  1. Czy w każdym z wymienionych wyżej podpunktów drzewo będzie musiało być budowane inaczej?
  2. W jaki sposób umieścić dane z pliku tekstowego w drzewie tak, aby można było realizować szukanie według pewnego 'wzorca'?

Wszelkie materiały, wypowiedzi mogące mnie naprowadzić na rozwiązanie mile widziane.

Pozdrawiam :)