Бақылау сұрақтары
1 Рекурсивті емес бағдарламаны қалай құру керек?
2 Не өзгереді, егер де екілік бұтақтын төбесін баспаса, ал тек қана оның саның санаса?
9-10 зертханалық жұмыс. Шекті айқындауыштардың эквиваленттілігі және бірмәнділігі. Контексті-тәуелсіз грамматикаларды келтіру.
Мақсаты: Студентерді бағдарламаны кезеңмен құруға үйрету
6.1 Қысқаша теориялық мәліметтер
Бойер-Мура алгоритмы.
Бұл алгоритм жасауға мүмкін емес нәрселерді істейді: ұқсас жағдайда ол сөздердің бір бөлік әріптерін ғана оқиды. Бұл қалай болуы мүмкін? Өте жеңіл. Мысалы біз " " үлгісін іздестірейік.
Сөздің төртінші әріпіне қарайық: егерде ол " әріпі болса", бірінші үш әріпті оқу қажеттілігі жоқ. (Негізінде " " әрпі үлгісінде жоқ, сондықтан ол бесінші әріптен кейін ғана басталады).
Біз осы алгоритмнің ең оңай вариантын көрсетейік, бірақта ол барлық жағдайда жұмыстың шапшандығына кепілдік бере алмайды болсын - үлгі, оны іздеу керек. символдың әрқайсысы үшін, оның сөзінде дұрыс көтерілуін табайық яғни , тең болған жағдайда. Бұл мәліметтер массивінде сақталады, егерде символы кездеспесе, онда бізге қоюға ыңғайлы болады (неге екенің төменде көреміз).
Достарыңызбен бөлісу: |