Professor responsável
Local & horário
- Seg 10-12h: Sala E124 / Lab G03
- Qua 08-10h: Sala E124
Pré-requisitos
Não existem requisitos formais mas sugere-se fortemente que os alunos já tenham cursado IF672cc/ec (Algoritmos). Espera-se que o alunos tenha familiaridade com o desenho, análise e implementação de estruturas de dados básicas e algoritmos como de ordenação e busca.
Ementa
- Conceitos básicos
- Alfabetos cadeias e sub-cadeias
- Distâncias entre cadeias
- Casamento de padrões (String matching)
- String matching exato
(Métodos de janela deslizante, métodos semi-numéricos, paralelismo binário (bit-parallelism)
- String matching aproximado
(Métodos baseados em matriz de distância, Mátodos baseados em máquinas de estado, paralelismo binário)
- String matching exato
- Indexação
- Árvores de sufixos
(Representação e construção, string matching, aplicações)
- Arrays de sufixos
(Representação e construção, string matching, aplicações)
- Árvores de sufixos
- Compressão de texto
- Codificação de Huffman
- Fatoração de Lempel-Ziv
Bibliografia básica
- M. Crochemore and W. Rytter, Text Algorithms, Oxford University Press, New York, 1994.
- Dan Gusfield. Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology. Cambridge Univ Press, 1997.
- James Storer. Data compression: methods and theory Computer Science Press, 1988.
Avaliação
Dois projetos práticos de programação e, havendo necessidade, uma prova final escrita.
Ética acadêmica
Os alunos/equipes devem fazer seus próprios trabalhos, compreender o que fizeram e ser capazes de explicar os seus raciocínios sem ajuda externa.
É permitido estudar código de terceiros, mas não é permitido copiar partes significativas destes e apresentar como se fosse trabalho próprio. Também cabe aos alunos/equipes zelar pelo sigilo dos seus trabalhos. Em caso de cópias, as notas dos trabalhos ou provas idênticos serão zerados, independente de quem tenha copiado.
No caso de trabalhos em equipe, todos devem contribuir igualmente e conhecer em detalhes todo o trabalho.
O plágio e a fraude acadêmica não contribuem para o processo educacional e não serão tolerados.
Observações
- Esta página tem objetivo de facilitar a comunicação e a organização do curso e será feito esforço para manter a informação aqui contida correta e atualizada. Entretanto, o conteúdo desta página tem caráter fudamentalmente informativo e não-vinculativo, podendo ser modificado a qualquer altura à discrição do professor responsável no melhor interesse dos objetivos didáticos e acadêmicos, bem como da observância às regras instituicionais.
- Sobrepõem-se às informações aqui contidas qualquer comunicado em contrário emitido publicamente em sala de aula pelo professor responsável.
- Quaisquer dúvidas e/ou divergências deverão ser esclarecidas o mais brevemente possível com o professor responsável.
- Documentos de referência: