https://github.com/thomas-bouvier/insa-c-3eii
Le code des TPs de C proposés à l'INSA Rennes, département 3EII
https://github.com/thomas-bouvier/insa-c-3eii
avl-tree c graph insa-rennes
Last synced: 2 months ago
JSON representation
Le code des TPs de C proposés à l'INSA Rennes, département 3EII
- Host: GitHub
- URL: https://github.com/thomas-bouvier/insa-c-3eii
- Owner: thomas-bouvier
- Created: 2016-10-20T22:06:28.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-10-11T15:30:19.000Z (over 7 years ago)
- Last Synced: 2025-03-26T21:47:20.569Z (3 months ago)
- Topics: avl-tree, c, graph, insa-rennes
- Language: C
- Homepage:
- Size: 80.1 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# insa-c-3eii
Le code des TPs de C proposés à l'INSA de Rennes, département 3EII
### 1. GCC, Makefile and main argument
Objectives :
* Discover an Unix-like environment ;
* Use by yourself the GCC to build a program ;
* Manipulate them trough a Makefile ;
* Write a program using the main arguments.### 2. Postfix expressions
Objectives :
* Study a stack of int ;
* Code a function with an ellipsis ;
* Use the stack of int to evaluate postfix expressions ;
* Write a new solution based on pointers of functions.### 3. Dynamic memory allocation
Objectives :
* Practice dynamic memory allocation ;
* Implement a classical image structure.### 4. Binary files
Objectives :
* Read and write in a binary file ;
* Discover the Bitmap format for image files.### 5. Singly linked list (level 1)
Objectives :
* Use dynamic allocation ;
* Implement and use singly linked list.### 6. Singly linked list (level 2)
Objectives :
* Implement more advanced functionalities on linked lists to obtain a better knowledge of their mechanisms ;
* Create unit tests on these functionalities.### 7. Singly linked list (level 3) : code a basic leak memory detector
Objectives :
* Overload functions using macros ;
* Manipulate addresses and more particularly void pointers ;
* Use our linked list interpretation to implement a basic leak memory detector.### 8. Balanced trees : AVL trees
Objectives :
* Manipulate binary trees ;
* Use recursive programming to implement an AVL tree.### 9. Trees : Huffman coding
Objectives :
* Implement a binary tree ;
* Use recursive programming in the tree use case ;
* Build a tree by a bottom-up method ;
* First approach of a coding method : Huffman tree ;
* Read image data from binary files.### 10. Graphs : Dijkstra's algorithm
Objectives :
* Implement functionalities for a weighted directed graph implemented using linked lists ;
* Implement Dijkstra's algorithm to find the shortest path.