У меня есть возможность непложо подучить матрицы. Стоит ли это делать? Где могут пригодиться матрицы в программировании?
Об этом я думал, когда изучал бейсик в школе, а потом вышку на I курсе. Но все окончательно понял в аспирантуре. Матрицы нужны везде (и не только в программировании), где идет речь об обработке множества подобных данных. По-моему, в программировании незнание того, как правильно работать с массивами и векторами приводит к неэффективным алгоритмам.
dr_dred Везде. Двумерная графика, трехмерная графика. Алгоритмы нахождение кратчайшего пути. Некоторые алгоритмы на графах. Криптографические алгоритмы. Плюс море других алгоритмов.
dr_dred Советую довести до того чтобы на вопрос "Матрицы?" ты отвечал "А, матрицы, да фигня, все просто...". Пригодится обязательно.
Сигнальную обработку (аудио, графика и т.д.) модно проводить на базе wavelets, а wavelets на алгоритмическом уровне сводятся к матрицам. Коды Рида Соломона для восстановления данных тоже связаны с матрицами.
Оооо! Всем спасибо за ответы! Приобрел книжку Дж. Макконелл "Analysis of Algorithms: An Active Learning Approach" и еще старенькая советская есть. Вот и решил матрицами заняться. А пока вот сортировка методом Кнута Морриса Пратта: Код (Text): Knut_Morris_Pratt_sort proc uses ebx esi edi,find_where,find_what local fail[257]:BYTE xor eax,eax mov [fail],-1 mov ebx,1 mov ecx,[find_what] jmp @4 @1: mov al,[ecx+eax+1] @2: test eax,eax jle @3 mov dl,byte [ecx+ebx-1] cmp byte [ecx+eax-1],dl jne @1 @3: mov byte [fail+ebx],al inc eax inc ebx @4: cmp byte [ecx+ebx],0 jnz @2 xor esi,esi xor edi,edi mov edx,[find_where] jmp @6 @05: movsx esi,byte [fail+esi] @6: cmp byte [edx+edi],0 je @8 cmp esi,ebx jge @8 jnc @7 ;cmp esi,-1 ;jz @3 mov al,[edi+edx] cmp al,[esi+ecx] jnz @05 @7: inc esi inc edi jmp @6 @8: cmp esi,ebx jb @9 mov eax,edi sub eax,ebx jmp @10 @9: xor eax,eax @10: ret Knut_Morris_Pratt_sort endp
Хм, сортировка? Может быть, это поиск? Алгоритм Кнута-Морриса-Прата - это известный алгоритм быстрого поиска в строке типа Боейра-Мура: http://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm
dr_dred К сожалению невозможно объяснить что такое матрица. Ты должен все увидеть своими глазами. (с) Морфиус.