Skip to content

rodrigodelai/scc0223-data-structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English version

SCC0223 - Data Structures I

This course was offered in Fall 2022 by the ICMC-USP to the Bachelor of Data Science students with a workload of 120 hours. Its objective is to familiarize students with various data structures, enabling them to use these resources in the development of other computer science activities. More information about the course can be found here.

In this repository, you will find C implementations of some of the main data structures covered during the semester. Keep in mind that this is merely a learning record and may contain errors and inconsistencies that are natural to the learning process, and do not reflect current knowledge or competence. Check it out:

  • Exercise 1 – Cartesian Points: Dynamic sequential list;
  • Exercise 2 – Game Catalog: Dynamic sequential list;
  • Exercise 3 – Report: Analysis of algorithm complexity;
  • Exercise 4 – Card Stack: Dynamic linked stack;
  • Exercise 5 – Big Numbers: Dynamic linked list;
  • Exercise 6 – Bank Account: Binary search tree;;
  • Exercise 7 – HackerHank: Programming logic;
  • Exercise 8 – Bank Account II: AVL tree.

There is also this simple site that displays the programs in a more interactive format: deploy.


Portuguese version

SCC0223 - Estruturas de Dados I

Esta disciplina foi oferecida em 2022/2 pelo ICMC-USP à turma de Bacharelado em Ciência de Dados com carga horária de 120h. Seu objetivo é o de familiarizar os estudantes com várias estruturas da informação, buscando habilitá-los a contar com esses recursos no desenvolvimento de outras atividades de ciências de computação. Mais informações sobre o curso aqui.

Neste repositório você encontrará implementações em C de algumas das principais estruturas de dados vistas no decorrer do semestre letivo. Tenha em mente que este é apenas um registro de aprendizado, podendo conter erros e incoerências naturais do processo de aprendizagem, e que não refletem conhecimento ou competência atuais. Confira:

  • Exercício 1 – Pontos Cartesianos: Lista sequencial dinâmica;
  • Exercício 2 – Catálogo de Jogos: Lista sequencial dinâmica;
  • Exercício 3 – Relatório: Análise da complexidade de algoritmos;
  • Exercício 4 – Pilha de Cartas: Pilha encadeada dinâmica;
  • Exercício 5 – Big Numbers: Lista encadeada dinâmica;
  • Exercício 6 – Conta Bancária: Árvore binária de busca;
  • Exercício 7 – HackerHank: Lógica de Programação;
  • Exercício 8 – Conta Bancária II: Árvore AVL.

Há também este simples site que exibe os programas num formato mais interativo: deploy.