Skip to content

Tst alteracoes #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
// Use o IntelliSense para aprender sobre possíveis atributos.
// Passe o mouse para ver as descrições dos atributos existentes.
// Para obter mais informações, visite: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Iniciar",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/a.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Habilitar a reformatação automática para gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
Binary file added TP-1/.DS_Store
Binary file not shown.
Binary file added TP-1/main.exe
Binary file not shown.
Binary file added TP-1/src/.DS_Store
Binary file not shown.
38 changes: 38 additions & 0 deletions TP-1/src/Stats_TST.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#include "Stats_TST.h"
/**********************************************************************************/
void TST_Sats_Init(TST_Stats *T_S){
T_S->measure_words = 0 ;
T_S->measure_memory = 0 ;
T_S->measure_comparisons_search = 0 ;
T_S->measure_comparisons_insert.Compare_insert_char = 0 ;
T_S->measure_comparisons_insert.Compare_insert_index = 0;
T_S->measure_comparisons_insert.Compare_insert_internal_node = 0 ;
T_S->measure_comparisons_insert.Compare_insert_external_node = 0 ;
T_S->measure_time.time_insertion = 0.0 ;
T_S->measure_time.time_insertion = 0.0;
}
/***************************************************************************************************************************************/
void TST_Stats_Print_Mount(TST_Stats T_S){
printf("\nNumber of words in this tree: %d\n", T_S.measure_words);
}
/****************************************************************************************************************************************/
void TST_Stats_Print_Memory_Consumption(TST_Stats T_S){
printf("\nTotal of memory consumption: %ld kilobytes\n", T_S.measure_memory);
}
/****************************************************************************************************************************************/
void TST_Stats_Print_Comparisons_Search(TST_Stats T_S){
printf("\nTotal of comparison in the search: %ld \n", T_S.measure_comparisons_search);
}
/*****************************************************************************************************************************************/
void TST_Stats_Print_Comparisons_Insert(TST_Stats T_S){
printf("\nTotal of char comparison in the insertion: %ld \n", T_S.measure_comparisons_insert.Compare_insert_char);
printf("\nTotal of index's comparison in the insertion: %ld \n", T_S.measure_comparisons_insert.Compare_insert_index);
printf("\nTotal of internal's node comparison in the insertion: %ld \n", T_S.measure_comparisons_insert.Compare_insert_internal_node);
printf("\nTotal of external's node comparison in the insertion: %ld \n", T_S.measure_comparisons_insert.Compare_insert_external_node);

}
void TST_Stats_Print_Time(TST_Stats T_S){
printf("\nTotal of time spent in the insertion: %f \n", T_S.measure_time.time_insertion);
printf("\nTotal of time spent in the search: %lf \n", T_S.measure_time.time_search);

}
38 changes: 38 additions & 0 deletions TP-1/src/Stats_TST.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

// THIS FILE IS WILL USE TO QUANTIFY SOME MEASURES OF THE PATRICIA TREE
#include <sys/resource.h>
#include <errno.h>
#include <unistd.h>
#include <stdio.h>

typedef struct comparison_insert{
long int Compare_insert_index ;
long int Compare_insert_char;
long int Compare_insert_internal_node ;
long int Compare_insert_external_node ;
}comparison_insert;

typedef struct Time{
double time_insertion;
double time_search;
}Time;

typedef struct{
int measure_words;
long int measure_memory;
long int measure_comparisons_search ;
comparison_insert measure_comparisons_insert ;
Time measure_time;
}TST_Stats;
/**
* \brief Initialize and set to 0 the respective values
* \param S The data type that will be archieve all the metrics
*/
void TST_Sats_Init(TST_Stats *T_S);
/**
* \brief Show the metrics
*/
void TST_Stats_Print_Mount(TST_Stats T_S);
void TST_Stats_Print_Memory_Consumption(TST_Stats T_S);
void TST_Stats_Print_Comparisons_Search(TST_Stats T_S);
void TST_Stats_Print_Comparisons_Insert(TST_Stats T_S);
40 changes: 40 additions & 0 deletions TP-1/src/TSTinfo.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#include "TSTinfo.h"

void inicializaDados(TipoTSTinfoPointer *Tree)
{
*Tree = 0; //dados da árvore
}

// Conta palavras TST
int CountWordsTSTUtil(TSTNodePointer root)
{
int contador=0;

if (root)
{
// Primeira percorra a subárvore esquerda
contador += CountWordsTSTUtil(root->left);
if (root->isEndOfString)
{
contador++;
}
// Percorre subárvore do meio
contador += CountWordsTSTUtil(root->eq);
// Finalmente, Percorre a subárvore direita
contador += CountWordsTSTUtil(root->right);
//printf("%d\n",&contador);
return contador;
}
}

// Função principal pra percorrer TST
// Encapsula printTSTUtil()
void CountWordsTST(TSTNodePointer root)
{
int NumWords=0;

NumWords = CountWordsTSTUtil(root);
printf("%d\n",NumWords);
printf("Saiu\n");
printf("A quantidade de palavras e: %d\n",NumWords);
}
22 changes: 22 additions & 0 deletions TP-1/src/TSTinfo.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#ifndef TSTinfo_h
#define TSTinfo_h


#include "tst.h"

//dados da arvore
typedef struct TSTinfo *TipoTSTinfoPointer;
typedef struct TSTinfo
{
int Memory, WordsScore;
float ExecTime;
} TSTinfo;


//Funções para comparações de dados das árvores

void inicializaDados(TipoTSTinfoPointer *Tree);
int CountWordsTSTUtil(TSTNodePointer root);
void CountWordsTST(TSTNodePointer root);

#endif
Loading