-
Notifications
You must be signed in to change notification settings - Fork 0
/
iris.h
81 lines (55 loc) · 2.43 KB
/
iris.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#ifndef _IRIS_H_
#define _IRIS_H_
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
typedef struct sTreeNode treeNode;
typedef struct sFlowerListNode flowerListNode;
typedef struct sList list;
typedef struct sParam
{
float m_min;
float m_max;
}param;
struct sList
{
flowerListNode * m_head; /**< Pointeur sur la tête de liste */
};
typedef struct sFlower
{
float m_petalWidth; /**< Largeur pétale (paramètre 3) */
float m_petalLength; /**< Longueur pétal (paramètre 2) */
float m_sepalWidth; /**< Largeur sépal (paramètre 1) */
float m_sepalLength; /**< Longueur sépal (paramètre 0) */
char m_specieNamed[30]; /**< Nom de l'éspèce (classe) */
}flower;
struct sFlowerListNode
{
flower m_dataFlower; /**< Caractéristique de la fleur */
flowerListNode * m_next; /**< Pointeur vers le noeud de liste suivant. */
};
struct sTreeNode
{
int m_valueCompared; /**< Valeur de comparaison des paramètre */
param m_parameterTab[4]; /**< Tableau des paramètres (voir commentaire de la structure fleur pour l'ordre */
float m_entropy; /**< Entropie du noeud */
int m_samples; /**< Nombre de fleur dans le noeud */
float * m_tabValue; /**< Tableau du nombre de fleurs par éspèce */
list * m_irisList; /**< Liste des fleurs */
treeNode * m_leftSon; /**< Noeud fils gauche */
treeNode * m_rightSon; /**< Noeud fils droit */
};
list * CreateDataList(FILE * p_pfile, list * p_pflowerlist, int p_nbData);
void insererFin(list * p_pflowerList, flower p_dataFlower);
flowerListNode * creerNoeudList(flower p_dataFlower);
int CountNbLignes(FILE * p_pfile);
void afficherList(list * p_pHead);
void NbFlowerBySpecies(treeNode * p_pflowerNode);
treeNode * CreateNode(treeNode * p_pflowerNode);
void InitialisationMinEtMax(treeNode * p_pflowerNode);
float ComparedSepalLength(treeNode * p_pflowerNode);
float * ComparedPetalWidth(treeNode * p_pflowerNode);
float * ComparedPetalLength(treeNode * p_pflowerNode);
float * ComparedSepalWidth(treeNode * p_pflowerNode);
#endif //_IRIS_H_